у меня есть проблемы с рекурсивным поиском, но сначала некоторые ключевые данные:Рекурсивного поиск SQL файлов в каталогах (NSIS)
- У меня есть несколько каталогов, заполненных SQL-файлы, которые я хочу, чтобы скопировать $ TEMP
- каталоги я хочу читать выглядеть как этот v2.1.0.0
- в данный момент, каталоги v2.5.0.0 на v2.7.0.3 должны быть считаны
- папки не должны быть " следующий ", поэтому v2.5.0.3 может следовать v2.5.0.0
- Я использую LogicLib
- Я новичок в этом языке (до Java), и это моя первая задача
Я в настоящее время пытается решить проблему с $ {ForEach}
!macro GetSQLVersionFiles first second third fourth
SetOutPath $TEMP
${ForEach} ${first} 0 9 + 1
${ForEach} ${second} 0 9 + 1
${ForEach} ${third} 0 9 + 1
${ForEach} ${fourth} 0 9 + 1
IfFileExists "scripte\v${first}.${second}.${third}.${fourth}" 0 +2
File "scripte\v${first}.${second}.${third}.${fourth}\*.sql"
${next}
${next}
${next}
${next}
!macroend
так что моя идея состояла в том, чтобы сделать ее жизнеспособной для более поздней версии, чтобы иметь макрос с 4 параметрами, в которые можно поместить стартовый каталог, скажем, желаемый «2 5 0 0», и он выполняет итерацию через каждую папку и помещает найденные .sql-файлы в каталог $ TEMP
вещи, которые я имею уже пытались
- отсылая ко всем параметрам без {}
- письма «$ {первый} $ {первой} 9 + 1 (думал, что это будет перебирать только от первого до 9)
в ошибка я получаю следующее
!insertmacro: _ForEach
Usage: StrCpy $(user_var: output) str [maxlen] [startoffset]
Error in macro _ForEach on macroline 3
Error in macro GetSQLVersionFiles on macroline 2
Error in script "\\NAMEOFMYSCRIPT -- aborting creation process
третьей линии в _ForEach из LogicLib является
StrCpy "${_v}" "${_f}" ; Assign the initial value
Заранее благодарим за помощь :)
Спасибо большое! Я хотел сделать второй, извлечь файлы из установщика. Думаю, я начну смотреть в пакет, тогда, спасибо! –