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ê utiliza 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 . 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.

Modificador Descriçã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 sequência vazia.

A tabela a seguir lista as possíveis combinações de modificadores e qualificadores que podem ser usados para obter resultados compostos.

Modificador Descriçã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

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 sequê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.