Я новичок в написании сценариев и не могу заставить этот работать. Я мог бы, если бы переместил файлы по пути без пробела, но я бы хотел, чтобы он работал с пробелом, если бы мог.
Я хочу извлечь кучу обновлений Office в папку с файлом .cmd. Чтобы командный файл можно было использовать на любом компьютере, я установил переменную пути, которую мне нужно изменить только в одном месте, чтобы запустить ее на другом компьютере. Проблема в том, что на пути есть место. Если я заключу путь в кавычки в определении, cmd.exe поместит их вокруг пути до того, как добавит имя файла и переключит, и пакет завершится с ошибкой синтаксиса командной строки. Без кавычек он выдает ошибку, «не распознается как внутренняя или внешняя команда, работающая программа или командный файл».
Для тестирования я использую переключатель справки до тех пор, пока я не смогу заставить его работать. Я могу сделать это, используя имя файла / папки 8.3 (например, Мои документы как MyDocu ~ 1), но можно ли это сделать по-другому?
Ответы:
Попробуйте что-то вроде этого:
источник
я использую
при обновлении пути:
источник
Здесь есть два варианта. Во-первых, вы можете сохранить путь без кавычек и просто процитировать его позже:
Другой вариант, который вы можете использовать, - это подпрограмма, которая позволяет исключать строки из кавычек (но в этом случае это на самом деле не очень хорошая идея, поскольку вы добавляете кавычки, удаляя их и повторно добавляя их снова без каких-либо преимуществ):
%~1
Удаляет кавычки вокруг аргумента. Это пригодится при передаче имен папок в кавычки, но, как было сказано ранее, в данном конкретном случае это не лучшая идея :-)источник
set LALA=%~1
было тем, что сработало для меня.Попробуй это;
создайте переменную, как показано ниже
Затем замените путь переменной. Не забудьте добавить кавычки для начала и конца
источник
Я всегда помещаю путь в двойные кавычки, когда создаю файл .bat. (Я просто добавил ПАУЗУ, чтобы она не закрывала экран.)
Например:
источник
Правильный способ сделать это так:
источник
Самый простой способ решить эту проблему - заключить имя папки в кавычки:
(cd\New Folder\...) --> (cd\"New Folder"\...)
Надеюсь, это поможет.
источник
Если вам нужно сохранить постоянный путь (путь не меняется при перезапуске cmd)
Запустите командную строку от имени администратора (щелкните правой кнопкой мыши cmd.exe и выберите Запуск от имени администратора)
В cmd
setx path "%path%;your new path"
введитеПроверьте, правильно ли выбран путь, набрав путь и нажав ввод
источник
также просто попробуйте добавить двойную косую черту, как это работает только для меня
set dir = "C: \\ 1. Некоторая папка \\ Другая папка \\ Просто потому, что"
@echo в MKDIR% dir%
OMG, после публикации они удалили второй \ в моем сообщении, поэтому, если вы откроете мой комментарий, и он покажет три, вы должны прочитать их как два ...
источник