2

Что я должен сделать в настоящее время:

cd C:\Program Files (x86)\MyProgram\modules\bin

Что я хотел бы сделать:

set dir as %Path%
cd %Path%

Есть ли быстрый способ сделать это из командной строки? Кроме того, смогу ли я вызвать эти переменные пути из основанных на Linux оболочек bash, таких как оболочка git bash или cygwin? Заранее спасибо!

2 ответа2

3

Это не совсем так, как работает переменная path .

Если вы добавляете каталог к переменной пути, вам не нужно переходить в каталог для выполнения программы.

Например,

C:\>set Path=C:\Program Files (x86)\MyProgram\modules\bin;%Path%
C:\>program

выполнит C:\Program Files (x86)\MyProgram\modules\bin\program.exe .

Если вы просто хотите сохранить имя каталога в переменной (которая не должна быть Path), вы можете сделать это:

C:\>set myBin="C:\Program Files (x86)\MyProgram\modules\bin"
C:\>cd %myBin%
C:\Program Files (x86)\MyProgram\modules\bin>

Если вы хотите установить переменную среды для всех командных приглашений (без необходимости ввода set...), вы можете сделать это в

Computer [right click] -> Properties -> Advanced System Settings -> Environment Variables
0

В командной строке (cmd.exe) вы можете установить переменные среды, используя set:

set var=value
set "var=value"

и получить к ним доступ, используя %var%:

cd "%var%"

Они также будут помещены в среду этого процесса cmd.exe и унаследованы всеми процессами, которые вы запускаете из него. Если вы запустите bash внутри этого окна cmd, у него будет та же переменная, что и у $var . Если вы запустите Python, он будет иметь os.environ['var'] и так далее.

Однако переменные среды могут быть только унаследованы. Если вы измените переменную в cmd или bash, она не будет обновлять среду всех других запущенных процессов, или тех, которые вы запускаете из Проводника, или тех, которые вы запускаете из меню Пуск.

Единственное исключение из вышеупомянутого ограничения - когда программе можно сказать перечитать среду из другого источника; например, если вы используете пользовательский интерфейс конфигурации среды в Панели управления → Система → Дополнительные параметры системы → Дополнительно → Переменные среды, Explorer перечитает среду из реестра.

Наконец, помните, что %PATH% - это специальная переменная, содержащая расположение команд, которые вы выполняете. Не устанавливайте это только на что-либо; используйте вместо этого %mydir% или что-то еще.

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