2012-02-16 3 views
37

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

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

Однако в окнах указано, что эта команда недействительна.

Сообщение об ошибке является

%%A was unexpected at this time 

Как преодолеть эту проблему?

ответ

59

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

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

+0

Япа, которые помогли, а также есть точка отметить, что вам нужно поместить команду DIR/б внутри скобки области – klijo

+0

Вы спасли мою жизнь :) – VenomVendor

+0

Также следует отметить, что вы не можете использовать что-то вроде файла%, похоже. Кажется, что для параметра допускается только одна буква. – fschmitt

3

Если вы делаете это из командной строки, вам не придется бежать%, поэтому достаточно %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

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

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

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

Хорошее объяснение Cmd- методы, которые вы могли бы найти в ss64

Смежные вопросы