Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Se

Realiza processamento condicional em programas em lotes.

Para obter exemplos de como usar esse comando, consulte exemplos.

Sintaxe



Se [not] ERRORLEVEL <Number><Command>[else <Expression>] se [não] <String1> = = <String2><Command>[else <Expression>] se [not] exist <FileName><Command>[else <Expression>]

Se as extensões de comando estiverem ativadas, use a seguinte sintaxe:



Se [/i] <String1><CompareOp><String2><Command>[else <Expression>] se cmdextversion <Number><Command>[else <Expression>] se definido <Variable><Command>[else <Expression>]

Parâmetros

Parâmetro Descrição

não

Especifica que o comando deve ser executado somente se a condição for falsa.

ERRORLEVEL <Number>

Especifica uma condição verdadeira somente se o programa executado anteriormente pelo Cmd. exe retornada um código de saída igual ou maior que o número.

<Command>

Especifica o comando deve ser executado se a condição anterior for atendida.

<String1> = = <String2>

Especifica uma condição verdadeira somente se String1 e String2 forem iguais. Esses valores podem ser seqüências de caracteres literais ou variáveis em lote (por exemplo, % 1). Não é necessário colocar entre aspas seqüências de caracteres literais.

Existem <FileName>

Especifica uma condição verdadeira se o nome de arquivo especificado existir.

<CompareOp>

Especifica um operador de comparação de três letras. A lista a seguir representa os valores válidos para Operador_de_comparação:

EQU Igual a

EQ Não é igual a

LSS Menor que

LEQ Menor ou igual a

GTR Maior que

GEQ Maior ou igual a

/i

Força seqüência comparações Ignorar maiúsculas e minúsculas. Você pode usar /i em seqüência1 =seqüência2 de if ==. Essas comparações são genéricas, que se String1 e String2 são formados por dígitos numéricos, as seqüências de caracteres são convertidas em números e executada uma comparação numérica.

cmdextversion <Number>

Especifica o número de versão interno associado com as extensões de comando recurso do cmd. exe é igual ou maior que o número especificado de uma só se condição verdadeira. A primeira versão é 1. Aumenta em incrementos de um quando melhoras significativas forem adicionadas às extensões de comandos. Cmdextversion Cmdextversion condicional nunca é verdadeira quando as extensões de comando estão desativadas (por padrão, as extensões são ativadas).

definidas <Variable>

Especifica uma condição verdadeira se a variável está definida.

<Expression>

Especifica uma linha de comando e quaisquer parâmetros a serem passados para o comando em uma cláusula else .

/?

Exibe a Ajuda no prompt de comando.

Comentários

  • Se a condição especificada em uma cláusula se for true, o comando seguinte a condição é executado. Se a condição for falsa, o comando na cláusula if será ignorado e o comando executa qualquer comando que é especificado na cláusula else .

  • Quando um programa pára, ele retorna um código de saída. Para usar códigos de saída como condições, use errorlevel.

  • Se você usar definido, as três variáveis a seguintes são adicionadas ao ambiente: % errorlevel %% cmdcmdline % % cmdcmdline % e % cmdextversion %.

    • % errorlevel % expande uma representação de seqüência de caracteres do valor atual da variável de ambiente ERRORLEVEL. Isso pressupõe que não é uma variável de ambiente com o nome ERRORLEVEL — se houver, você receberá esse valor ERRORLEVEL em vez disso.

    • % cmdcmdline % expande-se a linha de comando original passada para cmd. exe antes para qualquer processamento pelo Cmd. exe. Isso pressupõe que não é uma variável de ambiente com o nome CMDCMDLINE — se houver, você obterá o valor CMDCMDLINE em vez disso.

    • % cmdextversion % expande a representação de seqüência de caracteres do valor atual de cmdextversion. Isso pressupõe que não é uma variável de ambiente com o nome CMDEXTVERSION — se houver, você obterá o valor CMDEXTVERSION em vez disso.

  • Você deve usar a cláusula else na mesma linha de comando após o caso.

Exemplos

Para exibir a mensagem "Não é possível localizar o arquivo de dados" se o arquivo não foi encontrado o produto. dat, digite:



Se não existir produto. dat echo Impossível localizar arquivo de dados

Para formatar um disco na unidade a e exibir uma mensagem de erro se ocorrer um erro durante o processo de formatação, digite as seguintes linhas em um arquivo em lotes:



: begin@echo offformat r: /sif não o errorlevel 1 goto endecho Ocorreu um erro durante a formatação.

: endecho final do programa em lotes.

Para excluir o arquivo Product. dat do diretório atual ou exibir uma mensagem se o produto. dat não for encontrado, digite as seguintes linhas em um arquivo em lotes:



Produto. se existe DAT produto. (del DAT) ELSE (echo o produto. dat arquivo está faltando.

)

Cc754335.note(pt-br,WS.10).gif Observação
Essas linhas podem ser combinadas em uma única linha da seguinte maneira:



Produto. se existe DAT produto. (del DAT) ELSE (echo o produto. dat arquivo está ausente).

Para repetir o valor da variável de ambiente ERRORLEVEL depois de executar um arquivo em lotes, digite as seguintes linhas no arquivo de lote:



GoTo resposta % errorlevel %: answer1echo programa tinha retornar código 1:answer0echo programa tinha código de retorno 0goto final: endecho feito!

Ir para o rótulo "OK" se o valor da variável de ambiente ERRORLEVEL é menor ou igual a 1, tipo:



Se % errorlevel % LEQ 1 goto correto

Contribuições da comunidade

ADICIONAR
Mostrar: