1

У меня есть следующие переменные env:

VIM_HOME: %ProgramFiles(x86)%\Vim\vim74
CMD: %USERPROFILE%\cmd
PATH: ...%CMD%;%VIM_HOME%;...

C:\Users\ я \ CMD \ vim.bat

@echo off
start vim.exe %*

Незамедлительный:

> echo %ProgramFiles(x86)%
C:\Program Files (x86)
> echo %USERPROFILE%
C:\Users\me
> echo %CMD%
C:\Users\me\cmd
> echo %VIM_HOME%
C:\Program Files (x86)\Vim\vim74

Пока все хорошо ...

> echo %PATH%
...C:\Users\me\cmd;%VIM_HOME%;...

%VIM_HOME% не разрешен, но %CMD% был? И следовательно:

> vim
'vim.exe' is not recognized as an internal or external command, operable program or batch file.

Я не понимаю?

1 ответ1

0

Даже не уверен, как произнести этот «ответ», поэтому, если вы чувствуете, что можете сказать это по-другому или добавить что-то ценное, сделайте следующее:

После многих попыток (см. Раздел comments под вопросом) выяснить, почему переменная VIM_HOME не работает, было предложено переименовать переменную из VIM_HOME в _VHOME. Конечный пользователь подтвердил, что это изменение позволило им без проблем запустить VIM через пакетный скрипт. Тем не менее, не было "реальной" причины, по которой переменная VIM_HOME не работала бы, если только это не зарезервированная внутренняя переменная для VIM.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .