Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Modifica la posizione dei parametri batch in un file batch.
Syntax
shift [/n <N>]
Parameters
| Parameter | Description |
|---|---|
/n <N> |
Specifica di iniziare lo spostamento in corrispondenza dell'Nesimo argomento, dove N è un valore compreso tra 0 e 8. Richiede le estensioni dei comandi, che sono abilitate per impostazione predefinita. |
| /? | Visualizza la guida al prompt dei comandi. |
Remarks
Il comando SHIFT modifica i valori dei parametri batch da%0 a %9 copiando ciascun parametro in quello precedente: il valore di %1 viene copiato in %0, il valore di %2 viene copiato in %1e così via. Ciò è 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 MAIUSC supporta l'opzione della riga di comando /n . L'opzione /n specifica di iniziare lo spostamento in corrispondenza dell'ennesimo argomento, dove N è un valore qualsiasi compreso tra 0 e 8. Ad esempio, SHIFT /2 sposterebbe %3 su %2, %4 su %3e così via, lasciando %0 e %1 inalterati. Le estensioni dei comandi sono abilitate per impostazione predefinita.
È possibile utilizzare 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 che appaiono dopo il decimo (%9) verranno spostati uno alla volta in %9.
Il comando shift non ha alcun effetto sul %* parametro batch.
Non c'è alcun comando di spostamento all'indietro. Dopo aver implementato il comando MAIUSC , non è possibile recuperare il parametro batch (%0) esistente prima dello spostamento.
Examples
Per utilizzare 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