Что означает знак процента (%и %%) в аргументе пакетного файла?

Я думаю, что я что-то упускаю, потому что я не могу найти, что это значит.

пример: for / D %%A in ( * ) do "7za.ехе" у-t7z -М9=LZMA2 "%%А. С 7z" "%%с"

эта строка должна была использовать версию командной строки 7zip для сжатия отдельных папок, но я озадачен тем, что %%A означает в этом контексте.

26
задан Jim Kieger
01.03.2023 11:58 Количество просмотров материала 3657
Распечатать страницу

3 ответа

for команда нуждается в заполнитель, так что вы можете передать переменные для использования позже в запросе, мы говорим ему использовать заполнитель %A, причина код, который вы видели использует %%A, потому что внутри пакетного файла (который, как я полагаю, где вы нашли это)% имеет особое значение, поэтому вы должны сделать это в два раза %% так его превратили в один % для передачи for команда

на самом деле разбить, что команда делает, есть две части команды:

 for /D %%A in (*) do .....

что эта часть говорит, что это для каждой папки в текущей папке выполните следующую команду, заменив %%A С именем текущей обрабатываемой папки.

..... "za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"

что эта часть говорит, это выполнить команду "za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A" и заменить два тега %%AС текущей записью, которую мы обрабатываем.

11
отвечен Scott Chamberlain 2023-03-02 19:46

Это переменная.

этот конкретный пример использует параметр каталога цикла FOR, перебираем каталоги и присваиваем их % % A.

Это также не пример командной строки, а пример пакетного файла. В пакетных файлах необходимо использовать %%A, а в командной строке - %A.

0
отвечен ernie 2023-03-02 22:03

в вашем сценарии %%A является заполнителем того, что цикл" for " повторяется (который /D указывает на каталоги). Таким образом, каждая итерация цикла %%A является одним из каталогов.

вы увидите %% вместо % в пакетном коде. Вы увидите % вместо%%, используемого в командной строке.

Так что знайте, что если вы скопируете код пакетного файла в командную строку и запустите его с %% используется, это будет ошибка, и наоборот.

0
отвечен Mechaflash 2023-03-03 00:20

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

Ваш ответ

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

Имя
Вверх