Condividi tramite


impostatolocale

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