MS-DOS e linha de comando do Windows comando setlocal


0

MS-DOS e linha de comando do Windows comando setlocal

comando setlocal

O comando setlocal permite que os ambientes locais sejam alterados sem afetar mais nada.

Disponibilidade

Setlocal é um comando interno disponível nos seguintes sistemas operacionais da Microsoft.

  • Windows NT
  • Windows 2000
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows 10

Setlocal syntax

Começa a localização de alterações de ambiente em um arquivo em lote. As alterações de ambiente feitas após a emissão de SETLOCAL são locais para o arquivo em lote. ENDLOCAL deve ser emitido para restaurar as configurações anteriores. Quando o final de um script em lote é alcançado, um ENDLOCAL implícito é executado para todos os comandos SETLOCAL pendentes emitidos por esse script em lote.

SETLOCAL

Se as extensões de comando estiverem ativadas, o SETLOCAL mudará da seguinte forma:

O comando de lote SETLOCAL agora aceita argumentos opcionais:

ATIVAR EXTENSÕES /
DISABLEEXTENSIONS
Ative ou desative as extensões do processador de comando. Consulte CMD para obter detalhes.
ATIVAR A EXPANSÃO MAIS TARDE /
DESATIVAR EXPANSÃO ATRASADA
Ative ou desative a expansão atrasada da variável de ambiente. Veja SET /? para detalhes.

Essas modificações duram até o comando ENDLOCAL correspondente, independentemente de suas configurações antes do comando SETLOCAL.

O comando SETLOCAL define o valor ERRORLEVEL se for fornecido um argumento. Será zero se um dos dois argumentos válidos for fornecido e outro caso contrário. Você pode usar isso em scripts em lote para determinar se as extensões estão disponíveis, usando a seguinte técnica:

VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions

O exemplo acima funciona porque em versões antigas do CMD.EXE, SETLOCAL NÃO define o valor ERRORLEVEL. O comando VERIFY com um argumento incorreto inicializa o valor ERRORLEVEL com um valor diferente de zero.

Exemplos de locais

SETLOCAL

Executado em um arquivo em lote, o comando setlocal teria todas as alterações de ambiente afetadas apenas no arquivo em lote.

Gorjeta

Veja também o exemplo acima da Microsoft mostrado na sintaxe para outras maneiras de usar esse comando.


Like it? Share with your friends!

0
Rubem Rego

0 Comments

Your email address will not be published. Required fields are marked *