Объяснение
У меня есть простой маленький .bat
файл, который выглядит следующим образом. Я бы хотел запустить его в любом месте с Windows 7 до 10. Сейчас он мало что дает, но позже я его расширю.
#REM first argument includes path to folder which contains pdflatex.exe
set PATH=%PATH%;%1
where pdflatex #allows me to see if it can see the exe
Проблема возникает, когда мне нужно отправить путь с пробелами.
- Если я передаю путь к папке без пробелов и кавычек, он работает нормально.
- Если я передаю путь к папке без пробелов и кавычек, он не работает.
- Если я передаю папку с пробелами, кавычками или нет, она не работает.
Я полагаю, это потому, что Windows плохо работает с кавычками в переменной PATH, то есть с разделителями-запятыми. %1
все еще содержит кавычки к тому времени, когда мы находимся в файле .bat
.
Однако кавычки кажутся необходимыми с точки зрения командной строки, чтобы гарантировать, что они рассматриваются как один аргумент.
Единственный метод, который я могу обдумать, это всегда включать кавычки вокруг пути (гарантируя, что он всегда обрабатывается как один аргумент), а затем обрезать первый и последний символ.
Хотя это не выглядит элегантным решением, и мне было интересно, есть ли лучший способ сделать это.
Короче
Как удалить кавычки из аргументов пакетного файла?