Пользовательская переменная среды 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 ответ

Решение
  1. По причинам совместимости с MS-DOS и COMMAND.COM, окна cmd.exe оболочка поддерживает список "текущих каталогов", по одному для каждой буквы диска, и cd Команда меняет каталог, но не текущий диск.

    использование cd /d %var_mypath% также изменить текущий диск.

  2. Не ставьте кавычки в значение переменной. Если вы делаете, то %VAR_MYPATH%\someSubfolder\theBatchFile.bat будет расширяться до "d:\someFolder"\someSubfolder\theBatchFile.bat, что может запутать вещи. (Опять же, для совместимости, cmd.exe наследует много причуд от COMMAND.COM включая странный цитируемый текстовый парсер.)

  3. Убедитесь, что переменная действительно существует в вашем текущем cmd.exe окно, либо запустив set var_mypath или же echo %var_mypath%, (Каждый процесс наследует среду от своего родителя.)

Другие вопросы по тегам