Пост StackOverflow Как получить доступ к путям файлов в Powershell, содержащих специальные символы? имеет три решения проблемы:
Используйте новый escape-символ,
%
чтобы остановить обычный синтаксический анализ командной строки до конца строки, чтобы не совпадать с кавычками, не останавливаться на точке с запятой и не раскрывать переменные PowerShell. Переменные среды все еще раскрываются при использованииcmd.exe
синтаксиса (например%TEMP%
).Запишите имя файла во временный файл и используйте его оттуда.
Используйте символ backtick (`) для экранирования специального символа. Например :
$dir = "C:\folder`$name\dir"