shift

Modifica la posizione dei parametri batch in un file batch.

Sintassi

shift [/n <N>]

Parametri

Parametro Descrizione
/n <N> Specifica di iniziare a spostarsi all'argomento N, dove N è qualsiasi valore compreso tra 0 e 8. Richiede le estensioni dei comandi, abilitate per impostazione predefinita.
/? Visualizza la guida al prompt dei comandi.

Osservazioni:

  • Il comando shift modifica i valori dei parametri batch da %0 a %9 copiando ogni parametro in quello precedente. Il valore di %1 viene copiato in %0, il valore di %2 viene copiato in %1 e così via. Questo è utile per la scrittura di un file batch che esegue la stessa operazione su un numero qualsiasi di parametri.

  • Se le estensioni dei comandi sono abilitate, il comando shift supporta l'opzione della riga di comando /n. L'opzione /n specifica di iniziare a spostarsi all'argomento Nth, dove N è qualsiasi valore compreso tra 0 e 8. Ad esempio, SHIFT /2 sposta %3 a %2, %4 a %3 e così via e lasciare invariati %0 e %1 . Le estensioni del comando sono attivate per impostazione predefinita.

  • È possibile usare il comando shift per creare un file batch in grado di accettare più di 10 parametri batch. Se si specificano più di 10 parametri nella riga di comando, quelli visualizzati dopo il decimo (%9) vengono spostati uno alla volta in %9.

  • Il comando shift non ha alcun effetto sul %* parametro batch.

  • Non esiste alcun comando di spostamento indietro. Dopo aver implementato il comando shift, non è possibile recuperare il parametro batch (%0) esistente prima dello spostamento.

Esempi

Per usare un file batch denominato Mycopy.bat per copiare un elenco di file in una directory specifica, digitare:

@echo off
rem MYCOPY.BAT copies any number of files
rem to a directory.
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done