mercoledì 20 novembre 2013

Passare più di 9 parametri ad un file .bat

Se passiamo più di 9 parametri ad un .bat ci sono dei problemi.
Infatti scrivendo %10 in realtà prende il parametro 1 (%1) e poi vede uno zero.
Per gestire più parametri occorre usare l'operatore shift che trasla la lista di parametri.
Nell'esempio riportato sotto vogliamo passare 11 parametri e quindi, dopo aver letto il parametro 9,con un doppio shift "perdiamo" i valori 1 e 2 e quindi i valori %8 e %9 letti dopo saranno il decimo e undicesimo parametro inviato.
L'esempio seguente scrive questi parametri su di un file txt.

set arg1=%1
set arg2=%2
set arg3=%3
set arg4=%4
set arg5=%5
set arg6=%6
set arg7=%7
set arg8=%8
set arg9=%9
shift
shift
set arg10=%8
set arg11=%9
set
echo Utente %arg1% ci invia i parametri %arg2% %arg3% %arg4% %arg5% %arg6% %arg7% %arg8% %arg9% %arg10% %arg11% > risultato.txt


Nessun commento:

Posta un commento