C:\WINDOWS>HELP IF
Efectua o processamento condicional em programas batch.
IF
[NOT
] número ERRORLEVEL comando
IF
[NOT
] cadeia1==cadeia2 comando
IF
[NOT
] EXIST nomefich comando
NOT Especifica que o Windows deve executar o comando
apenas se a condição for falsa.
número ERRORLEVEL Especifica uma condição verdadeira se a última execução
do programa devolveu um código de saída igual ou maior
que o número especificado.
cadeia1==cadeia2 Especifica uma condição verdadeira se o texto das
cadeias especificadas for igual.
EXIST nomefich Especifica uma condição verdadeira se existir
o nome de ficheiro especificado.
comando Especifica o comando a executar se a condição for
verificada. O comando pode ser seguido pelo comando
ELSE que executará o comando depois da palavra chave
ELSE se a condição especificada for FALSE
A classe ELSE tem de ocorrer na mesma linha do comando a seguir ao IF. Por
exemplo:
IF EXIST nomefich. (
del nomefich.
) ELSE (
echo nomefich. Em falta.
)
O seguinte NÃO funcionaria porque o comando del necessita de terminar
com uma linha nova:
IF EXIST nomefich. del nomefich. ELSE echo nomefich. em falta
Nem o seguinte funcionaria, uma vez que o comando ELSE tem de estar
na mesma linha que o fim do comando IF:
IF EXIST nomefich. del nomefich.
ELSE echo nomefich. em falta
O seguinte funcionaria se colocasse tudo na mesma linha:
IF EXIST nomefich. (del nomefich.) ELSE echo nomefich. em falta
Se as extensões de comandos estiverem activadas, o IF é alterado do seguinte
modo:
IF
[/I
] cadeia1 op-comparação cadeia2 comando
IF CMDEXTVERSION número comando
IF DEFINED variável comando
onde op-comparação pode ser um de:
EQU - igual a
NEQ - não igual a
LSS - menor que
LEQ - menor ou igual a
GTR - maior que
GEQ - maior ou igual a
e o parâmetro /I, se for especificado, indica a comparação entre cadeias
sem sensibilidade a maiúsculas e minúsculas. O parâmetro /I também pode ser
utilizado na forma cadeia1==cadeia2 de IF. Estas comparações são genéricas,
pelo que se a cadeia1 e a cadeia2 forem constituídas apenas por dígitos
numéricos, as cadeias são convertidas em números e é efectuada uma comparação
numérica.
O CMDEXTVERSION condicional funciona da mesma forma que o ERRORLEVEL, excepto
na comparação que é feita contra um número de versão interna associado às
extensões de comandos. A primeira versão é 1. Será incrementada de uma
unidade
sempre que forem adicionadas melhorias significativas às extensões de
comandos.
O CMDEXTVERSION condicional nunca é verdadeiro quando as extensões de
comandos
estão desactivadas.
O DEFINED condicional funciona da mesma forma que o EXISTS mas toma um nome
de uma variável de ambiente e devolve verdadeiro se a variável de ambiente
estiver definida.
O %ERRORLEVEL% expandirá para uma representação em cadeia do
valor actual do ERRORLEVEL, desde que não exista já uma variável
com o nome ERRORLEVEL, em cujo caso obterá o seu valor. Depois de
executar um programa, o que se segue ilustra a utilização do ERRORLEVEL:
goto resposta%ERRORLEVEL%
:resposta0
echo O programa devolveu o código 0
:resposta1
echo O programa devolveu o código 1
Também pode, através das comparações numéricas já indicadas:
IF %ERRORLEVEL% LEQ 1 goto ok
%CMDCMDLINE% expandirá para a linha de comandos original passada para
o CMD.EXE antes de qualquer processamento por parte do CMD.EXE, desde que
não exista já uma variável de ambiente com o nome CMDCMDLINE, em cujo caso
obterá o seu valor.
O %CMDEXTVERSION% expandirá para uma representação em cadeia do valor actual
do CMDEXTVERSION, desde que não exista já uma variável de ambiente com o nome
CMDEXTVERSION, em cujo caso obterá o seu valor.
C:\WINDOWS>HELP LABEL
Cria, altera ou elimina o nome do volume de um disco.
LABEL
[unidade:
][nome
]LABEL
[/MP
] [volume
] [nome
]unidade: Especifica a letra de unidade de uma unidade.
nome Especifica o nome do volume.
/MP Especifica que o volume deve ser tratado como um ponto
de montagem ou nome de volume.
volume Especifica a letra de unidade (seguido dos dois pontos),
o ponto de montagem ou o nome de volume. Se o nome de volume
for especificado, o sinalizador /MP não é necessário.
C:\WINDOWS>HELP MD
Cria um directório.
MKDIR
[unidade:
]caminho
MD
[unidade:
]caminho
Se as extensões de comandos estiverem activadas, o MKDIR é alterado
da seguinte forma:
O MKDIR cria quaisquer directórios intermédios do caminho, se for necessário.
Por exemplo, assuma que \a não existe, então:
mkdir \a\b\c\d
é igual a:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
que seria aquilo que teria de escrever se as extensões estivessem
desactivadas.