Я использую эту команду ниже, чтобы распаковать рекурсивно из исходной папки ( D:\cnosftp\
) и поместите извлеченный файл в ту же подпапку.
FOR /R "D:\cnosftp\" %I IN (*.gz) DO "C:\Program Files\7-Zip\7z.exe" x "%I" -aoa -o"%~dpI"
Это работает хорошо при запуске в CMD - но когда одна и та же команда помещается в командный файл и запускается - она запускается, но закрывается в мгновение ока без каких-либо действий. Есть идеи, что я здесь делаю? Или кто-нибудь может сказать, как обернуть его в пакетный файл.
batch-file
7-zip
windows-task-scheduler
suyash sikarwar
источник
источник
FOR
Команда для переменных. , ,FOR /R "D:\cnosftp\" %%I IN (*.gz) DO "C:\Program Files\7-Zip\7z.exe" x "%%I" -aoa -o"%%~dpI"
запустить его как командный файл.Ответы:
Вместо этого попробуйте запустить:
Убедитесь, что результат соответствует вашим ожиданиям.
Подсказка: вероятно, не будет. Замените% на %% по мере необходимости. (Если два% не работают, попробуйте три или четыре, но я думаю, что двух может быть достаточно.)
Вероятная проблема заключается в том, что команде FOR может потребоваться дополнительный% при запуске из пакетного файла. Использование команды echo для вывода того, какую команду вы фактически будете выполнять, часто помогает определить, какие переменные расширяются так, как вы хотите / нуждаетесь в них, и какие переменные требуют добавления% s.
источник