Пользовательская переменная среды Windows 7 не работает
Я создал новую переменную среды через расширенные системные настройки Windows 7:
VAR_MYPATH = "D:\someFolder"
Я добавил новую переменную в путь в том же диалоге:
PATH = ...;%VAR_MYPATH%
Когда я запускаю новую командную строку и набираю "CD %VAR_PATH%", ошибка не возвращается, но командная строка не меняется на "D:\someFolder".
Если я пытаюсь запустить командный файл в этой папке с моего диска C, я получаю сообщение об ошибке:
c:> %VAR_MYPATH%\someSubfolder\theBatchFile.bat
The system cannot find the path specified
Все пути правильные, так что же мне не хватает, чтобы заставить работать переменную среды?
1 ответ
По причинам совместимости с MS-DOS и
COMMAND.COM
, окнаcmd.exe
оболочка поддерживает список "текущих каталогов", по одному для каждой буквы диска, иcd
Команда меняет каталог, но не текущий диск.использование
cd /d %var_mypath%
также изменить текущий диск.Не ставьте кавычки в значение переменной. Если вы делаете, то
%VAR_MYPATH%\someSubfolder\theBatchFile.bat
будет расширяться до"d:\someFolder"\someSubfolder\theBatchFile.bat
, что может запутать вещи. (Опять же, для совместимости,cmd.exe
наследует много причуд отCOMMAND.COM
включая странный цитируемый текстовый парсер.)Убедитесь, что переменная действительно существует в вашем текущем
cmd.exe
окно, либо запустивset var_mypath
или жеecho %var_mypath%
, (Каждый процесс наследует среду от своего родителя.)