%% A был неожиданным в это время - PullRequest
41 голосов
/ 16 февраля 2012

Я хочу сжать папку, содержащую файлы.Чтобы сделать это, мне нужно пройтись по всему списку файлов и выполнить команду 7za.(Версия для командной строки 7zip)

for /f %%A in ('"G:\Files Sample\zip\txt\*.t
xt"') do 7za -tzip "%%A.zip" "%%A"

Однако Windows сообщает, что эта команда недопустима.

Сообщение об ошибке:

%%A was unexpected at this time

Как мне решить эту проблему?

Ответы [ 3 ]

76 голосов
/ 16 февраля 2012

%%A используется при использовании пакетной программы (* .bat)

попробуйте удалить один '%'

3 голосов
/ 16 февраля 2012

Если вы делаете это из командной строки, вам не нужно экранировать%, поэтому достаточно %a.Вам нужно только использовать %%a из пакетных файлов.

Кроме того, вы хотите выбрать файлы вместо выполнения команды G: \ Files Sample \ zip \ txt \ *. Txt в качествечто делает переключатель /f в сочетании с одинарными кавычками.Полная команда будет: for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

0 голосов
/ 16 февраля 2012

Попробуйте это в командном файле.

FOR "G:\Files Sample\zip\txt\" %%G IN (*.txt) DO  7za -tzip "%%G.zip" "%%G"

Добавить /R в качестве опции для поиска файлов во всех подпапках.

Хорошее объяснение cmd-методов вы можете найти на ss64

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...