%2 no arquivo em lote é ignorado na execução no prompt de comando

%2 no arquivo em lote é ignorado na execução no prompt de comando

Eu tenho um arquivo de imagem chamadofirst%20second.png

Eu tenho um test.batarquivo que renomeia imagens.

Se parece com isso:

Timeout 3
Copy "C:\first%20second.png" "C:\sub\first%20second.png"
Timeout 3

Quando o arquivo em lote é executado, ele faz isso

Copy "C:\first0second.png" "C:\sub\first0second.png"

O %2não é incluído

por que é isso?

Demonstração da ocorrência

insira a descrição da imagem aqui

Responder1

Você precisa dobrar o sinal de porcentagem para escapá-lo corretamente em um script em lote.

Comando

Copy "C:\first%%20second.png" "C:\sub\first%%20second.png"

Recursos adicionais

informação relacionada