Tudo sobre batch: Apostilas, programas, dicas e tutoriais.

5 de jan. de 2009

Usando parâmetros de lote

Você pode usar parâmetros de lote em qualquer ponto de um arquivo em lotes para extrair informações sobre as configurações do seu ambiente.
O Cmd.exe oferece as variáveis de expansão de parâmetros de lote %0 a %9. Quando você usa parâmetros de lote em um arquivo em lotes, o %0 é substituído pelo nome do arquivo em lotes e os valores de %1 a %9 são substituídos pelos argumentos correspondentes que você digitar na linha de comando. Para acessar argumentos acima de %9, você precisará usar o comando shift. Para obter mais informações sobre o comando shift, consulte Shift. O parâmetro de lote %* é uma referência curinga a todos os argumentos (sem incluir o %0) que são passados para o arquivo em lotes.
Por exemplo, para copiar o conteúdo da Pasta_1 para a Pasta_2, onde %1 é substituído pelo valor Pasta_1 e %2 pelo valor Pasta_2, digite o texto a seguir em um arquivo em lotes denominado Meulote.bat:
xcopy %1\*.* %2
Para executar o arquivo, digite:
meulote.bat C:\pasta_1 D:\pasta_2
Isso produz o mesmo efeito que digitar o seguinte texto no arquivo em lotes:
xcopy C:\pasta_1 \*.* D:\pasta_2
Você também pode usar modificadores com parâmetros de lote. Os modificadores usam informações de unidade e pasta atuais para expandir o parâmetro de lote como um arquivo parcial ou completo ou nome de pasta. Para usar um modificador, digite o caractere de porcentagem (%) seguido de um til (~) e, em seguida, digite o modificador apropriado (ou seja, %~modificador).
A tabela a seguir lista os modificadores que você pode usar na expansão.

 

ModificadorDescrição
%~1
Expande %1 e remove as aspas ("") de delimitação.
%~f1
Expande %1 como um nome de caminho totalmente qualificado.
%~d1
Expande %1 como uma letra de unidade.
%~p1
Expande %1 como um caminho.
%~n1
Expande %1 como um nome de arquivo.
%~x1
Expande %1 como uma extensão de arquivo.
%~s1
O caminho expandido contém somente nomes curtos.
%~a1
Expande %1 como atributos de arquivo.
%~t1
Expande %1 como data e hora de arquivo.
%~z1
Expande %1 como tamanho de arquivo.
%~$PATH:1
Pesquisa as pastas listadas na variável de ambiente PATH e expande %1 como o nome totalmente qualificado que for encontrado primeiro. Se o nome da variável de ambiente não estiver definido ou se o arquivo não for localizado, o modificador será expandido para a seqüência vazia.
A tabela a seguir lista as possíveis combinações de modificadores e qualificadores que podem ser usados para obter resultados compostos.

 

ModificadorDescrição
%~dp1
Expande %1 como uma letra de unidade e um caminho.
%~nx1
Expande %1 como nome e extensão de arquivo.
%~dp$PATH:1
Pesquisa as pastas listadas na variável de ambiente PATH e expande %1 para a letra de unidade e caminho da primeira encontrada.
%~ftza1
Expande %1 como uma linha de saída do tipo dir.
Observação
  • Nos exemplos anteriores, é possível substituir %1 e PATH por outros valores de parâmetros de lote.
O modificador %* é um modificador único que representa todos os argumentos passados em um arquivo em lotes. Não é possível usar esse modificador em combinação com o modificador %~. A sintaxe de %~ deve ser concluída com um valor de argumento válido.
Você não pode manipular parâmetros de lote da mesma forma que manipula variáveis de ambiente. Não é possível pesquisar e substituir valores nem examinar seqüências secundárias. No entanto, você pode atribuir o parâmetro a uma variável de ambiente e, em seguida, manipular a variável de ambiente.

0 comentários:

Postar um comentário