Parametri da linea di comando

È possibile passare fino a nove parametri a un file batch, da %1 a %9. Il parametro %0 corrisponde al nome del file batch.

Esempio (prova.bat):

@echo off
echo Questi sono i nove parametri possibili
echo %0 %1 %2 %3 %4 %5 %6 %7 %8 %9

L'esecuzione del batch darà l'output:

C:\>prova.bat 1 2 3 4 5 6 7 8 9
Questi sono i nove parametri possibili
prova 1 2 3 4 5 6 7 8 9

Se il parametro è stato passato fra virgolette (es: è un file con spazi nel nome) allora basterà riferirsi a questo parametro senza virgolette, dato che esse già fanno parte del parametro. Digitando:

test.bat "file con spazi nel nome.txt"

all'interno di test.bat faremo riferimento al primo parametro con %1 e non "%1".

Un altro esempio (prova2bat):

@echo off
echo ================================
echo Il comando............... %%0 : %0
echo Drive corrente........... %%~d0 : %~d0
echo Percorso corrente........ %%~p0 : %~p0
echo Drive e percorso corrente %%~dp0 : %~dp0
echo e ancora il file bat..... %%~nx0 : %~nx0
echo Solo il nome............. %%~n0 : %~n0
echo Solo l'estensione........ %%~x0 : %~x0
echo ================================
echo Il parametro............. %%1 : %1
echo senza le virgolette...... %%~1 : %~1
echo Il percorso completo..... %%~f1 : %~f1
echo Il nome del file......... %%~nx1 : %~nx1
echo e nel formato breve...... %%~snx1: %~snx1
echo Gli attributi del file... %%~a1 : %~a1
echo La data e ora del file... %%~t1 : %~t1
echo La dimensione del file... %%~z1 : %~z1
echo Riga stile comando DIR... %%~ftza: %~ftza1

per eseguirlo digitare: test.bat "Un Nome Lungo.txt" che darà un output simile a questo:

================================
Il comando............... %0 : test.bat
Drive corrente........... %~d0 : C:
Percorso corrente........ %~p0 : \BAT\
Drive e percorso corrente %~dp0 : C:\BAT\
e ancora il file bat..... %~nx0 : test.bat
Solo il nome............. %~n0 : test
Solo l'estensione........ %~x0 : .bat
================================
Il parametro............. %1 : "Un Nome Lungo.txt"
senza le virgolette...... %~1 : Un Nome Lungo.txt
Il percorso completo..... %~f1 : C:\BAT\UnNomeLungo.txt
Il nome del file......... %~nx1 : UnNomeLungo.txt
e nel formato breve...... %~snx1: UNNOME~1.TXT
Gli attributi del file... %~a1 : --a------
La data e ora del file... %~t1 : 01/12/2006 22.07
La dimensione del file... %~z1 : 27
Riga stile comando DIR... %~ftza: --a------ 01/12/2006 22.07 27 C:\BAT\Un Nome Lungo.txt