I parametri dei file BAT
I file batch (ovvero con estensione .BAT) delle ultime versioni di Windows supportano una gestione avanzata dei parametri passati dalla linea di comando.
Oltre ai già presenti riferimenti %n sono stati introdotti dei nuovi modificatori che iniziano con %~xxn.
Tenete presente che n rappresenta un numero che indica la posizione dei parametri digitati nella linea di comando (0 per il file stesso, 1 per il primo parametro, 2 per il secondo e così via) e i xx rappresentano le opzioni che si possono utilizzare.
Per una spiegazione completa dei parametri è sufficiente digitare da linea di comando:
un esempio del funzionamento dei parametri si può vedere eseguendo il seguente file test.bat:
per eseguirlo digitare
ovviamente deve esistere un file di nome "UnNomeLungo.txt", e da un output simile a questo:
I file batch sono sempre stati molto sottovalutati ;-) ... il futuro dello script su windows, Monad oops scusate Power Shell.
Oltre ai già presenti riferimenti %n sono stati introdotti dei nuovi modificatori che iniziano con %~xxn.
Tenete presente che n rappresenta un numero che indica la posizione dei parametri digitati nella linea di comando (0 per il file stesso, 1 per il primo parametro, 2 per il secondo e così via) e i xx rappresentano le opzioni che si possono utilizzare.
Per una spiegazione completa dei parametri è sufficiente digitare da linea di comando:
DOS / Batch file
CALL /?
DOS / Batch file
@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
DOS / Batch file
C:\BAT>test.bat "UnNomeLungo.txt"
================================
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 : "UnNomeLungo.txt"
senza le virgolette...... %~1 : UnNomeLungo.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\UnNomeLungo.txt