Впервые здесь и хочу попросить о помощи что-то, что застало меня на весь день.
У меня есть корневой каталог, содержащий подпапки для 44 стран.Внутри папки страны находятся файлы, которые я хотел бы добавить в zip-архив для сохранения в той же папке страны.
У меня есть файл списка cou_dir_list.lst
, который содержит следующую запись:
Z:\Data\Fossil-Fuel Subsidies Report\common data files\AUS
Z:\Data\Fossil-Fuel Subsidies Report\common data files\AUT
Z:\Data\Fossil-Fuel Subsidies Report\common data files\ZAF
Ради простоты я перечислил только 3 страны.
У меня есть следующий код:
REM @Echo On
setlocal EnableDelayedExpansion
for /F "usebackq tokens=*" %%f in (cou_dir_list.lst) do (
for /D %%g in ("%%f\*???_*.*") do (
"c:\Program Files\7-Zip\7z.exe" a "%%f\XXX_deleg.zip" "%%g"
)
)
Идея состоит в том, чтобы получить каждую страну к югу-директории (читая lst файл), затем добавляя каждый файл (с форматом *???_*.*
) внутри папки страны в архив XXX_deleg.zip
для сохранения в той же папке страны, на которую указывает %%f
.
Тем не менее, я все еще получаю следующие echo
s:
Z:\Data\Fossil-Fuel Subsidies Report\common data files>REM @Echo On
Z:\Data\Fossil-Fuel Subsidies Report\common data files>setlocal EnableDelayedExpansion
Z:\Data\Fossil-Fuel Subsidies Report\common data files>for /F "usebackq tokens=*" %f in (cou_dir_list.lst) do (for / %g in ("%f\*???_*.*") do ("c:\Program Files\7-Zip\7z.exe" a "%f\XXX_deleg.zip" "%g" ) )
Z:\Data\Fossil-Fuel Subsidies Report\common data files>(for / %g in ("Z:\Data\Fossil-Fuel Subsidies Report\common data files\AUS\*???_*.*") do ("c:\Program Files\7-Zip\7z.exe" a "Z:\Data\Fossil-Fuel Subsidies Report\common data files\AUS\XXX_deleg.zip" "%g" ) )
Z:\Data\Fossil-Fuel Subsidies Report\common data files>(for / %g in ("Z:\Data\Fossil-Fuel Subsidies Report\common data files\AUT\*???_*.*") do ("c:\Program Files\7-Zip\7z.exe" a "Z:\Data\Fossil-Fuel Subsidies Report\common data files\AUT\XXX_deleg.zip" "%g" ) )
Кажется, что переменные во втором цикле for не раскрываются, поскольку они выводятся как %g
.