Я пытаюсь передать путь к пакетному файлу из другой программы. Другая программа использует BASIC, поскольку это язык сценариев.Передача пути с '&' в пакетный файл
Итак, я вызываю командный файл с помощью команды Shell().
В командной строке я пытаюсь передать путь, который имеет символ «&». Однако к тому времени, когда он попадает в командный файл, командный файл рассматривает & как своего рода escape-последовательность (я думаю).
Например:
Путь: C: \ Documents \ R & D \ Files
Shell("runscript.bat "C:\Documents\R&D\Files"")
В пакетном файле:
variable=~1
echo %variable%
Я получаю следующий вывод:
C: Документы \ R
UPDATE
Однако, если я использую этот путь C: \ Documents \ RD \ Files
Этот путь придет через поиск и эхо напечатает:
C: \ Documents \ RD \ Files
Первым аргументом будет C: \ Documents \ R & D \ Files. – user2970916
@ user2970916 - затем проверьте приведенный выше код и посмотрите, соответствует ли он вашим потребностям. Dont не подделал аргумент в двойных кавычках. – npocmaka
Это сработало! Благодарю. Я постараюсь понять, могу ли я понять, почему это работает. – user2970916