7zip рекурсивный распаковать работает хорошо в CMD, но не в пакетном режиме

Я использую эту команду, чтобы распаковать рекурсивно из исходной папки(D:cnosftp) и поместите извлеченный файл в ту же подпапку.

FOR /R "D:cnosftp" %I IN (*.gz) DO "C:Program Files-Zipz.exe" x "%I" -aoa -o"%~dpI"

это хорошо работает при запуске в CMD, но когда та же команда помещается в пакетный файл и запускается, она срабатывает, но закрывается в мгновение без каких-либо действий. Есть идеи, что я здесь делаю? Или любой может рассказать, как обернуть его в пакетный файл.

17
задан Pimp Juice IT
06.11.2022 16:09 Количество просмотров материала 3134
Распечатать страницу

1 ответ

вместо этого попробуйте выполнить:

FOR / R "D:\cnosftp \" %I IN (*.ГЗ) сделать эхо "C:\Program Files\7-Zip\7z.exe" х "%я" -АОА -о"%~Дои"

убедитесь, что результат соответствует ожиданиям.

Подсказка: это, вероятно, не будет. При необходимости замените % на%%. (Если два не работают, попробуйте три или четыре, но я думаю, что двух может быть достаточно.)

вероятная проблема заключается в том, что команде FOR может потребоваться дополнительный % при запуске из пакетного файла. Использование команды echo для вывода команды, которую вы фактически будете запускать, часто помогает определить, какие переменные расширяются так, как вы хотите/нуждаетесь в них, и какие переменные нуждаются в добавлении %s.

0
отвечен TOOGAM 2022-11-07 23:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх