%2 в пакетном файле игнорируется при выполнении в командной строке

%2 в пакетном файле игнорируется при выполнении в командной строке

У меня есть файл изображения с именемfirst%20second.png

У меня есть test.batфайл, который переименовывает изображения.

Выглядит это так:

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

При запуске пакетного файла он делает следующее:

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

Не %2включается

почему это?

Демонстрация возникновения

введите описание изображения здесь

решение1

Для правильного экранирования знака процента в пакетном скрипте его необходимо удвоить.

Команда

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

Дополнительные ресурсы

Связанный контент