magazzino disordinato di appunti
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