O comando: "ENDLOCAL" está ativado Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponível
Os exemplos para o comando "ENDLOCAL"
O
`ENDLOCAL`O comando é usado no prompt de comando do Windows para encerrar variáveis de ambiente locais associadas ao
`SETLOCAL`comando foi iniciado. aqui estão alguns exemplos:
Exemplo 1: iniciar e parar o ambiente local:
@ECHO OFF
SETLOCAL
SET Name=John
ECHO Dentro do ambiente local: %Name%
ENDLOCAL
ECHO Fora da área local: %Name%
Descrição: Este exemplo inicia um ambiente local com
`SETLOCAL`, define uma variável local (
`Name`), imprime o valor dentro e fora do ambiente local e sai do ambiente local com
`ENDLOCAL`.
Exemplo 2: Usando ENDLOCAL em um loop:
@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET Counter=%%A
ECHO Dentro do circuito: %Counter%
ENDLOCAL
)
ECHO Fora do circuito: %Counter%
Descrição: Aqui está
`SETLOCAL`usado dentro de um loop para criar um ambiente local.
`ENDLOCAL`em seguida, encerra o ambiente local no final de cada iteração do loop.
Exemplo 3: Ambiente local com valor de retorno:
@ECHO OFF
CALL :LocalFunction
ECHO Fora de função: %ReturnValue%
GOTO :EOF
:LocalFunction
SETLOCAL
SET ReturnValue=Este é um valor de retorno
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF
Descrição: Uma função (
`:LocalFunction`) criado usando um ambiente local
`SETLOCAL`começa e com
`ENDLOCAL`eu enviei. O valor de retorno é usado fora da função.
Exemplo 4: Usando ENDLOCAL em um arquivo em lote:
@ECHO OFF
CALL :Start
ECHO Fora de função: %GlobalVariable%
GOTO :EOF
:Start
SETLOCAL
SET GlobalVariable=isto é um globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF
:InnerFunction
SET LocalVariable=Este é um local Variable
ECHO Dentro da função: %LocalVariable%
GOTO :EOF
Descrição: Aqui está
`SETLOCAL`na função principal (
`:Start`) usado para criar um ambiente local. Nesta função, uma subfunção (
`:InnerFunction`) chamado.
`ENDLOCAL`é usado na função principal para sair do ambiente local enquanto atualiza o valor da variável global.
O
`ENDLOCAL`instrução encerra o ambiente local e redefine as variáveis de ambiente para o valor anterior
`SETLOCAL`-Comando. Se você quiser usar uma variável de ambiente do ambiente local fora deste, você deve fazê-lo diretamente
`ENDLOCAL`fazer. Observe que as variáveis locais não estão disponíveis fora de seu ambiente local.
"ENDLOCAL" Trecho da Ajuda do Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Termina a localização das alterações de ambiente em um arquivo em lotes.
As alterações de ambiente feitas após ENDLOCAL ser ativado não são
específicas do arquivo em lotes; as configurações anteriores não serão
restauradas na finalização do arquivo em lotes.
ENDLOCAL
Se as extensões de comando estiverem ativadas, o ENDLOCAL será alterado como
a seguir:
Se o SETLOCAL correspondente ativar ou desativar as extensões de comando
usando as novas opções ENABLEEXTENSIONS ou DISABLEEXTENSIONS, após o
ENDLOCAL, o estado ativado/desativado das extensões de comando voltará ao
que costumava ser antes de corresponder à execução do comando SETLOCAL.
Informações importantes, dicas para o comando "ENDLOCAL"
Ao usar o
`ENDLOCAL`comando no prompt de comando do Windows, há alguns pontos importantes a serem observados:
1.
Variáveis locais: `ENDLOCAL`encerra um ambiente local e todas as variáveis locais criadas nesse ambiente são descartadas. Essas variáveis estão de acordo com
`ENDLOCAL`não está mais disponível fora do ambiente localizado.
2.
Valores de Retorno: Se você quiser usar valores de um ambiente local fora deste, deverá fazê-lo imediatamente após
`ENDLOCAL`-Faça o comando. Exemplo:
SETLOCAL
SET LocalVar=Olá
ENDLOCAL & SET OutsideVar=%LocalVar%
3.
Aninhado`SETLOCAL`/`ENDLOCAL`: Se você
`SETLOCAL`usado várias vezes em um arquivo em lote, cada um deve
`SETLOCAL`de um correspondente
`ENDLOCAL`ser seguido. Cada
`ENDLOCAL`termina o mais próximo
`SETLOCAL`-Instrução.
4.
Herança de variáveis: Variáveis criadas em um ambiente localizado não são herdadas de ambientes pai. Os ambientes locais geralmente são visíveis apenas para o processo em lote atual.
5.
Ordem de execução: `ENDLOCAL`é executado na ordem em que
`SETLOCAL`foi chamado. Isso significa que o último ambiente localizado vem primeiro
`ENDLOCAL`eu enviei.
6.
Arquivos em lote e funções: Em arquivos em lote, ambientes localizados são frequentemente usados em funções. Quando você sai de uma função, um
`ENDLOCAL`realizada a menos que a função tenha sido usada
`GOTO :EOF`ou
`EXIT /B`deixar. Neste caso é aconselhável inserir manualmente
`ENDLOCAL`adicionar.
7.
Use em loops: Se você
`SETLOCAL`em um loop, um novo ambiente local é criado cada vez que o loop é executado. Certifique-se de que você
`ENDLOCAL`corretamente para garantir que as variáveis locais sejam liberadas conforme necessário.
FOR /L %%A IN (1, 1, 3) DO (
SETLOCAL
SET LocalVar=Olá
ECHO %LocalVar%
ENDLOCAL
)
8.
Recursos de Processo: O uso de
`SETLOCAL`e
`ENDLOCAL`pode ajudar a conservar os recursos do processo, especialmente quando muitas variáveis são definidas e usadas em um arquivo em lote. Limitar o escopo das variáveis a seções específicas do código permite que os recursos de memória sejam usados de forma mais eficiente.
Em resumo, é importante
`SETLOCAL`e
`ENDLOCAL`ser usados com cuidado para garantir que as variáveis sejam tratadas adequadamente e que os ambientes localizados sejam gerenciados adequadamente. Isto é particularmente relevante em scripts ou funções em lote complexos.