Мне нужно процитировать произвольные аргументы в пакетном файле Windows 10, и у меня возникают проблемы, когда они заканчиваются обратной косой чертой.
Допустим, я хочу позвонить в Robocopy, чтобы скопировать *.foo
файлы из A:\
в B:\
следующим образом:
robocopy A:\ B:\ *.foo
Но на самом деле я получаю A:\
в качестве аргумента (скажем, я использую %~1
, и я не знаю, содержит ли он пробелы, поэтому я цитирую это:
robocopy "%SOURCE%" B:\ *.foo
К сожалению, если %SOURCE%
заканчивается обратной косой чертой, последний \
считается escape-символом, экранирующим "
.
robocopy "A:\" B:\ *.foo
Таким образом, Windows считает, что первый аргумент "A:" B:\ *.foo
.
Как отключить интерпретацию \"
как escape-последовательности?