Пользовательская переменная среды 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%, (Каждый процесс наследует среду от своего родителя.)