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.
Avvia la localizzazione delle variabili di ambiente in un file batch. La localizzazione continua fino a quando non viene raggiunto un comando endlocal corrispondente o la fine del file batch.
Sintassi
setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]
Parametri
Parametro | Descrizione |
---|---|
abilita le estensioni | Abilita le estensioni del comando fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione prima dell'esecuzione del comando setlocal setlocal. |
disabilita le estensioni | Disabilita le estensioni del comando fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione prima dell'esecuzione del comando setlocal. |
abilitareespansione ritardata | Abilita l'espansione ritardata della variabile di ambiente fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione prima dell'esecuzione del comando setlocal setlocal. |
disabilitatoespansione ritardata | Disabilita l'espansione ritardata della variabile di ambiente fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione prima dell'esecuzione del comando setlocal . |
/? | Visualizza la Guida al prompt dei comandi. |
Osservazioni:
Se si usa setlocal all'esterno di uno script o di un file batch, non ha alcun effetto.
Usare setlocal per modificare le variabili di ambiente quando si esegue un file batch. Le modifiche apportate all'ambiente dopo l'esecuzione setlocal sono locali nel file batch. Il programma Cmd.exe ripristina le impostazioni precedenti quando rileva un comando endlocal o raggiunge la fine del file batch.
È possibile avere più di un setlocal o comando endlocal in un programma batch, ovvero comandi annidati.
Il comando setlocal imposta la variabile ERRORLEVEL. Se si passa {enableextensions | disableextensions} o {enabledelayedexpansion | disabledelayedexpansion}, la variabile ERRORLEVEL è impostata su 0 (zero). In caso contrario, è impostato su 1. È possibile usare queste informazioni negli script batch per determinare se le estensioni sono disponibili, come illustrato nell'esempio seguente:
verify other 2>nul setlocal enableextensions if errorlevel 1 echo Unable to enable extensions
Poiché cmd non imposta la variabile ERRORLEVEL quando le estensioni dei comandi sono disabilitate, il comando verificare inizializza la variabile ERRORLEVEL su un valore diverso da zero quando viene usata con un argomento non valido. Inoltre, se si usa il comando setlocal setlocal con argomenti {enableextensions | disableextensions} o {enabledelayedexpansion | disabledelayedexpansion} e non imposta la variabile ERRORLEVEL su 1, le estensioni dei comandi non sono disponibili.
Esempi
Per localizzare le variabili di ambiente in un file batch, seguire questo script di esempio:
rem *******Begin Comment**************
rem This program starts the superapp batch program on the network,
rem directs the output to a file, and displays the file
rem in Notepad.
rem *******End Comment**************
@echo off
setlocal
path=g:\programs\superapp;%path%
call superapp>c:\superapp.out
endlocal
start notepad c:\superapp.out