Potresti trovare utile l’istruzione SHIFT in alcuni dei tuoi file batch.

Quello che fa MAIUSC è spostare i parametri della riga di comando da destra a sinistra.

(I parametri della riga di comando sono quei parametri inclusi nella riga di comando utilizzata per eseguire il file batch.) Ciò offre un modo, ad esempio, per fare in modo che il file batch accetti un numero variabile di parametri.

Internamente, l’interprete dei comandi numera gli elementi della riga di comando. Ad esempio, considera il seguente comando che esegue un file batch denominato DOIT.BAT:

doit first second third fourth fifth

In questo caso, il comando è “doit”, seguito da cinque parametri: primo, secondo, terzo, quarto e quinto. L’interprete dei comandi, internamente, numera questi parametri da% 1 a% 5. In realtà, però, c’è un “parametro” numerato% 0: il comando (il nome del file batch) stesso.

Per vedere come funziona, crea il tuo file DOIT.BAT che contiene i seguenti comandi:

@ECHO OFF CLS :TOP IF [%0]==[] GOTO :EOF ECHO %0 %1 %2 %3 %4 %5 SHIFT GOTO TOP

Il file batch prima disattiva l’eco dei comandi sullo schermo, quindi cancella lo schermo. Quindi imposta un ciclo di comandi (da: TOP fino alla fine del file) che fa eco, sullo schermo, gli elementi della riga di comando e poi sposta (tramite l’uso del comando SHIFT) tutti gli elementi a sinistra. Dopo lo spostamento, l’elemento% 0 viene scartato, l’elemento% 1 diventa% 0, l’elemento% 2 diventa% 1 e così via. Quando esegui il file batch, dovresti vedere il seguente output:

doit first second third fourth fifth first second third fourth fifth second third fourth fifth third fourth fifth fourth fifth fifth

Quando si utilizza SHIFT nei propri file batch, è possibile richiamare il file con un numero variabile di parametri e quindi passare da questi parametri per eseguire l’elaborazione.

Questo suggerimento (13198) si applica a Windows 7, 8 e 10.