2013-04-22 24 views
11

Ho visto l'utilizzo di% * nei file batch e nelle righe di comando. Googling non mi ha dato alcun risultato. Qualcuno può spiegare l'uso tipico di% * con un esempio.GrazieCosa significa% * in un file batch

risposta

12

Significa "tutti i parametri nella riga di comando".

Per esempio, è utile quando si desidera inoltrare la riga di comando dal file batch per un altro programma:

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

%* si espande all'elenco completo degli argomenti passati allo script.

Generalmente lo si utilizza quando si desidera chiamare un altro programma o script e passare gli stessi argomenti passati al proprio script.

6

Un punto importante non elencati in nessuna delle precedenti risposte: %* espande a tutti parametri dalla linea di comando, anche dopo un'operazione SHIFT.

Normalmente un SHIFT si sposterà parametro %2 a %1, %3 a %2, ecc, e %1 non è più disponibile. Ma %* ignora qualsiasi SHIFT, quindi l'elenco completo dei parametri è sempre disponibile. Questo può essere sia una benedizione che una maledizione.