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 rilevato un comando endlocal corrispondente o non viene raggiunta la fine del file batch.
Syntax
setlocal [enableextensions | disableextensions] [enabledelayedexpansion | disabledelayedexpansion]
Parameters
| Parameter | Description |
|---|---|
| enableextensions | Abilita le estensioni del comando fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione precedente all'esecuzione del comando setlocal . |
| disableextensions | Disabilita le estensioni del comando fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione precedente all'esecuzione del comando setlocal . |
| enabledelayedexpansion | Abilita l'espansione ritardata della variabile di ambiente fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione precedente all'esecuzione del comando setlocal . |
| disabledelayedexpansion | Disabilita l'espansione ritardata della variabile di ambiente fino a quando non viene rilevato il comando endlocal corrispondente, indipendentemente dall'impostazione precedente all'esecuzione del comando setlocal . |
| /? | Visualizza la Guida al prompt dei comandi. |
Remarks
Se si utilizza setlocal all'esterno di uno script o di un file batch, non ha alcun effetto.
Utilizzare setlocal per modificare le variabili di ambiente quando si esegue un file batch. Le modifiche all'ambiente apportate dopo l'esecuzione di 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 comando setlocal o endlocal in un programma batch (ovvero, comandi nidificati).
Il comando setlocal imposta la variabile ERRORLEVEL. Se si passa {enableextensions | disableextensions} o {enabledelayedexpansion | disabledelayedexpansion}, la variabile ERRORLEVEL viene 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 extensionsPoiché cmd non imposta la variabile ERRORLEVEL quando le estensioni dei comandi sono disabilitate, il comando verify inizializza la variabile ERRORLEVEL su un valore diverso da zero quando viene utilizzata con un argomento non valido. Inoltre, se si utilizza il comando setlocal con argomenti {enableextensions | disableextensions} o {enabledelayedexpansion | disabledelayedexpansion} e non imposta la variabile ERRORLEVEL su 1, le estensioni del comando non sono disponibili.
Examples
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