| 1 | @echo off |
| 2 | Rem Make an Inno Setup distribution list, where files and dirs are represented by |
| 3 | Rem sections like this: |
| 4 | Rem [Dirs] |
| 5 | Rem Name: {app}\docs |
| 6 | Rem |
| 7 | Rem [Files] |
| 8 | Rem Source: c:\wx2stable\wxWindows\deliver2\docs\readme.txt; DestDir: {app}\docs\; DestName: readme.txt |
| 9 | |
| 10 | set wxwindir=%WXWIN |
| 11 | |
| 12 | Rem Generate a list of all files in the distribution. |
| 13 | Rem We have to be in the right directory already. |
| 14 | dir /BS >& %TEMP\files1.tmp |
| 15 | |
| 16 | Rem Now we iterate through the list of files, writing out the middle section of |
| 17 | Rem the file. |
| 18 | Rem We have to remove the first part of the path, |
| 19 | Rem by truncating the start by the size of the current directory. |
| 20 | |
| 21 | set sz=%@EVAL[%@LEN[%_CWD]+1] |
| 22 | set len=%@LINES[%TEMP\files1.tmp] |
| 23 | |
| 24 | erase /Y %TEMP\files2.tmp |
| 25 | |
| 26 | Rem Add directories |
| 27 | |
| 28 | echo. >> %temp\files2.tmp |
| 29 | echo [Dirs] >> %temp\files2.tmp |
| 30 | |
| 31 | do i = 0 to %len by 1 |
| 32 | set line=%@LINE[%TEMP\files1.tmp,%i] |
| 33 | Rem Skip files. |
| 34 | if not isdir %line enddo |
| 35 | set sz2=%@LEN[%line] |
| 36 | set n=%@EVAL[%sz2-%sz] |
| 37 | set line2=%@SUBSTR[%line,%sz,%n] |
| 38 | if "%line2%" == "" enddo |
| 39 | |
| 40 | echo Name: {app}\%line2 >> %TEMP\files2.tmp |
| 41 | enddo |
| 42 | |
| 43 | echo. >>%TEMP\files2.tmp |
| 44 | |
| 45 | Rem Add files |
| 46 | |
| 47 | echo. >> %temp\files2.tmp |
| 48 | echo [Files] >> %temp\files2.tmp |
| 49 | |
| 50 | do i = 0 to %len by 1 |
| 51 | set line=%@LINE[%TEMP\files1.tmp,%i] |
| 52 | Rem Skip directories. |
| 53 | if isdir %line enddo |
| 54 | set sz2=%@LEN[%line] |
| 55 | set n=%@EVAL[%sz2-%sz] |
| 56 | set line2=%@SUBSTR[%line,%sz,%n] |
| 57 | set filename=%@FILENAME[%line2] |
| 58 | set dirname=%@PATH[%line2] |
| 59 | |
| 60 | echo Source: %line; DestDir: {app}\%dirname; DestName: %filename >> %TEMP\files2.tmp |
| 61 | enddo |
| 62 | |
| 63 | Rem Concatenate the 3 sections |
| 64 | cat %wxwindir\distrib\msw\innotop.txt %TEMP\files2.tmp %wxwindir\distrib\msw\innobott.txt > %wxwindir\distrib\msw\wxwin2.iss |
| 65 | |
| 66 | erase /Y %TEMP\files1.tmp |
| 67 | rem erase /Y %TEMP\files2.tmp |
| 68 | |
| 69 | goto end |
| 70 | |
| 71 | :end |