2013-04-22 3 views
11

Я видел использование% * в командных файлах и командных строках. Googling не дал мне никаких результатов. Может ли кто-нибудь объяснить типичное использование% * с примером. СпасибоЧто означает% * в пакетном файле

ответ

12

Это означает «все параметры в командной строке».

Например, это полезно, если вы хотите переслать командную строку из вашего пакетного файла в другую программу:

REM mybatchfile.cmd 
echo You called this with arguments: %* 
echo I will now forward these to the DIR command. 
dir %* 
3

%* расширяет полный список аргументов, переданных скрипту.

Обычно вы используете его, когда хотите вызвать какую-либо другую программу или скрипт и передать те же аргументы, которые были переданы вашему сценарию.

3

«Команда% * Модификатор представляет собой уникальный модификатор, который представляет все аргументы, передаваемые в пакетном файле Вы не можете использовать этот модификатор в комбинации с модификатором% ~. Синтаксис% ~ должен быть прерван допустимым значением аргумента. "

См: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true

+0

Спасибо за ссылку – feminkk

6

Один важный момент, не числится ни в одном из предыдущих ответов: %* расширяется до всех параметров из командной строки, даже после SHIFT операции.

Обычно SHIFT будет двигаться параметр %2 к %1, %3 к %2 и т.д., и %1 больше недоступна. Но %* игнорирует любой SHIFT, поэтому полный список параметров всегда доступен. Это может быть и благословением, и проклятием.

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