Setlocal
Inicia a localização de variáveis de ambiente em um arquivo em lotes. A localização continuará até que um comando endlocal correspondente seja encontrado ou o final do arquivo em lotes seja alcançado.
Sintaxe
setlocal {enableextension | disableextensions} Quando você utiliza setlocal fora de um arquivo em lotes ou de script, o comando não tem nenhum efeito.
Use o comando setlocal para alterar variáveis de ambiente ao executar um arquivo em lotes. As alterações de ambiente feitas após a execução do comando setlocal são locais para o arquivo em lotes. O Cmd.exe restaura configurações anteriores quando encontra um comando endlocal ou alcança o final do arquivo em lotes.
O comando setlocal define a variável ERRORLEVEL. Se você especificar {enableextension | disableextensions} ou {enabledelayedexpansion | disabledelayedexpansion}, a variável ERRORLEVEL será definida como zero (0). Caso contrário, será definida como um (1). Você pode usar isso em scripts em lotes para determinar se as extensões estão disponíveis, por exemplo:
Como cmd não define a variável ERRORLEVEL quando as extensões de comando estão desativadas, o comando verify inicializa essa variável como um valor não zero quando você o utiliza com um argumento inválido. Além disso, se você usar o comando setlocal com os argumentos {enableextension | disableextensions} ou {enabledelayedexpansion | disabledelayedexpansion} e ele não definir a variável ERRORLEVEL como um (1), as extensões de comando não estarão disponíveis.
Para obter mais informações sobre como ativar e desativar extensões de comando, consulte cmd em Tópicos relacionados. Você pode localizar variáveis de ambiente em um arquivo em lotes, da seguinte maneira:
Argumentos
Comentários
verify other 2>nulo setlocal enableextensions if errorlevel 1 echo Não é possível ativar as extensões
Exemplos
XOX rem *******Início de comentário************** rem Este programa inicia o arquivo em lotes superapl na rede, rem direciona a saída para um arquivo e exibe o arquivo rem no Bloco de notas. rem *******Fim de comentário************** @echo off setlocal path=g:\programas\superapl;%path% chamar superapl>c:\superapp.out endlocal start notepad c:\superapl.out