12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
-
- chcp 65001
- @set DestPath=%cd%\AppFile\laser\
- @echo off& setlocal EnableDelayedExpansion
- @set DestFiles=%cd%\SetupScripts\app.nsh
- @set DestFiles2=%cd%\SetupScripts\app-1.nsh
- del ".\SetupScripts\app.nsh"
- del ".\SetupScripts\app-1.nsh"
- @set total=1
- @echo off
- @rem 统计文件总数
- for /f "tokens=*" %%a in ('dir /s/b/a-d %DestPath%') do (
- @set /a total+=1
- )
- @set curr=0
- @set tmpValue=1
- @rem 做首级目录处理
- for /f "delims=*" %%d in ('dir /a-d/b %DestPath%') do (
- set /a curr+=1
- @echo Push ${APP_FILE_COUNT} >> %DestFiles%
- @echo Push !curr! >> %DestFiles%
- @echo Call ExtractCallback >> %DestFiles%
- @echo File "%DestPath%%%d" >> %DestFiles%
- @rem @echo "%%d"
- )
- @rem 循环遍历各个子目录,进行处理,生成NSIS指令
- @set dstString=
- for /f "delims=*" %%a in ('dir /s/ad/b %DestPath%') do (
- @set foldername=%%a
- @set "foldername=!foldername:%DestPath%=%dstString%!"
- @rem @echo !foldername!
- @rem 截取出来相关的目录 设置OutputPath
- @echo SetOutPath "$INSTDIR\!foldername!" >> %DestFiles%
- @rem 循环其下的文件
- for /f "delims=*" %%c in ('dir /a-d/b %%a') do (
- @set /a curr+=1
- @echo Push ${APP_FILE_COUNT} >> %DestFiles%
- @echo Push !curr! >> %DestFiles%
- @echo Call ExtractCallback >> %DestFiles%
- @echo SetOverwrite ifnewer >> %DestFiles%
- @echo File "%%a\%%c" >> %DestFiles%
- @rem @echo "%%c"
- )
- )
- @echo Push ${APP_FILE_COUNT} >> %DestFiles%
- @echo Push ${APP_FILE_COUNT} >> %DestFiles%
- @echo Call ExtractCallback >> %DestFiles%
- set /a i=0
- for /f "delims=" %%i in ('findstr /n .* %DestFiles%' ) do (
- set "a=%%i"
- set "a=!a:*:=!"
- set "b=!a:%DestPath%=${APP_FILE_DIR}\!"
- echo.!b!>> %DestFiles2%
- )
- del %DestFiles%
- ren %DestFiles2% app.nsh
- echo %DestFiles%
- xcopy %DestFiles% I:\prox\laser_pc\AppCode\laser\ /y
- @echo "总计:%total%"
- chcp 65001 %total%
|