Этот ответ почти всегда неправильный. По крайней мере, он неполон. В частности, этот подход хорошо работает для установки, но не подходит для удаления. Большинство деинсталляторов удаляют всю переменную PATH при удалении приложения, связанного с этим. Поэтому, если вы пишете действие по установке, чтобы добавить каталог в PATH, вы должны сделать это ПОЛЬЗОВАТЕЛЬСКОЕ действие по установке, которое не будет автоматически удалено универсальным пакетом удаления. Затем сопоставьте этот шаг выборочной установки с шагом удаления, который удаляет только ваш каталог из переменной PATH.
Ким Гентес
21
@KimGentes хорошо, это проблема с деинсталлятором. Хороший деинсталлятор должен привести в порядок. Это не делает ответ неправильным.
ChrisF
3
Я согласен .. это проблема с установщиком. Но так как все установщики делают это с переменными (они не анализируют и не извлекают части записей реестра или переменные ENV), кажется разумным объяснить это. Если точно следовать указаниям, они всегда будут сталкиваться с этой проблемой, что означает, что решение, вероятно, должно всегда включать это предостережение. Никакие установочные пакеты не заботятся об установке и удалении разделов записей реестра или переменных ENV, о которых я знаю, хотя, пожалуйста, дайте мне знать, если есть некоторые, о которых я не знаю.
Ким Гентес
Вместо «установки» среды используйте командный файл с командой SETX: SETX PATH «C: \ Windows» ----- и все готово.
Ставм
3
SETX также опасен, потому что имеет гораздо меньший предел длины, чем сама переменная PATH, и будет обрезаться вместо сбоя.
@sherdim: я очень сомневаюсь в этом. Однако она всегда работала с startкомандой, поэтому вы можете ввести start myexeприглашение cmd.exe. Но myexeя думаю, что одно не должно работать (если только вы не находитесь в каталоге myexeили этот каталог не находится в PATHпеременной окружения).
Андреас Рейбранд,
Я просто создаю небольшой myprog.cmdфайл со следующим содержимым: @START myprog.exe %*это вызывает App Pathsзапись для myprog.exeи передает все аргументы команды. Файл должен быть создан где-то доступным вPATH
Stavr00
1
@sherdim @ andreas-rejbrand Я могу подтвердить, что это не работает на Windows 10, если myexe нет PATH. start myexeработает с этим изменением реестра, без добавления myexe в PATH.
davenpcj
@davenpcj: Действительно. Раздел реестра, о котором я упоминал, относится к оболочке Windows, а не к командной строке. Так start myappработает, как и Win + R myapp, но не обычный myappв cmd.exe.
Андреас Рейбранд
1
Этот ключ работает для запуска из Explorer.exe, если вы пытаетесь из CMD.exe он не найден.
Прамп
41
Вы должны поместить .exeпуть вашего файла в путь переменной среды. Перейдите в «Мой компьютер -> Свойства -> Дополнительно -> Переменные среды -> Путь» и отредактируйте путь, добавив .exeкаталог в путь.
Другое решение, которое я лично предпочитаю, - это использовать RapidEE для более плавного редактирования переменных.
Это единственный ответ, который мне помог. Я бы добавил, что «перезапуск системы» не нужен. Достаточно просто перезапустить cmd.
Джоффри Баратеон
С WinKey + R и введите
SystemPropertiesAdvanced
30
Вместо того, чтобы помещать исполняемый файл в каталог на пути, вы должны создать пакетный файл в каталоге на пути, который запускает программу. Таким образом, вы не отделяете исполняемый файл от поддерживающих его файлов и не добавляете другие вещи в том же каталоге к пути непреднамеренно.
Такой командный файл может выглядеть так:
@echo off
start "" "C:\Program Files (x86)\Software\software.exe" %*
Вы не возражаете добавить пример такого пакетного файла - было бы неплохо?
petermeissner
Я чувствую, что это лучший вариант, я не хотел добавлять слишком много вещей в переменную пути. Я отредактирую в этом примере ответа такого командного файла.
Дино
1
Проблема с этим заключается в том, что он запускает новую оболочку. Я пытаюсь заставить бинарный файл cygwin запускаться в той же оболочке, что он делает, если я ссылаюсь на него напрямую какC:\cygwin\bin\grep.exe
Johann
4
@Johann: достаньте start "" и начните с пути к исполняемому файлу. Кроме того, для использования в cygwin может потребоваться сценарий оболочки cygwin или символическая ссылка. Или псевдоним оболочки.
Бен Фойгт
Отлично спасибо! Я согласен с другими вашими вариантами внутри cygwin, но в этом случае я пытаюсь использовать бинарный файл cygwin от powershell.
Иоганн
5
Удивительно, что для такой простой задачи в Windows нет простого решения, я создал небольшой сценарий cmd, который можно использовать для определения псевдонимов в окнах (инструкции находятся в самом заголовке файла):
Если вы хотите иметь возможность запускать его внутри cmd.exe или пакетных файлов, вам нужно добавить каталог, в котором находится .exe, в переменную% path% ( System или User )
Если вы хотите иметь возможность запустить его в диалоговом окне «Выполнить» (Win + R) или в любом приложении, которое вызывает ShellExecute , достаточно добавить свой exe-файл в ключ пути приложения (это менее подвержено ошибкам во время установки / удаления, а также не загромождает до переменной пути)
Вместо размещения пользовательских исполняемых файлов C:\Windowsлучше добавить пользовательский каталог в PATHпеременную окружения.
Роланд Иллиг
1
Простые Bash-подобные псевдонимы в Windows
Чтобы получить глобальные псевдонимы bash-like в Windows для приложений, не добавляемых в путь автоматически, без добавления каждого из них в путь вручную, вот самое чистое решение, которое я придумала, которое вносит наименьшее количество изменений в систему и имеет наибольшее количество изменений. гибкость для последующей настройки:
«Установить» путь к псевдонимам
mkdir c:\aliases
setx PATH "c:\aliases;%PATH%"
Добавьте свой псевдоним
Открыть в новом окне оболочки
Для начала C:\path to\my program.exe, передав все аргументы, открыв его в новом окне, создайте c:\aliases\my program.batфайл со следующим содержимым ( подробности о команде запуска см. В разделе Команда запуска NT):
@echo off
start "myprogram" /D "C:\path to\" /W "myprogram.exe" %*
Выполнить в текущем окне оболочки
Для начала C:\path to\my program.exe, передав все аргументы, но запустив его в том же окне (больше похоже на то, как работает bash), создайте c:\aliases\my program.batфайл со следующим содержимым:
@echo off
pushd "C:\path to\"
"my program.exe" %*
popd
Выполнить в текущем окне оболочки 2
Если вам вообще не нужно, чтобы приложение изменило текущий рабочий каталог для работы, вы можете просто добавить символическую ссылку на исполняемый файл внутри вашей папки aliases:
cd c:\aliases\
mklink "my program.exe" "c:\path to\my program.exe"
Другим способом может быть добавление .LNKк вашему $ PATHEX. Затем просто создайте ярлык для вашего исполняемого файла (т.е. yourshortcut.lnk) и поместите его в любой из каталогов, перечисленных в $ PATH.
ПРЕДУПРЕЖДЕНИЕ ПРИМЕЧАНИЕ: знайте, что любые файлы .lnk, расположенные в любых каталогах, перечисленных в вашем $ PATH, теперь тоже «PATH». По этой причине я бы предпочел метод пакетного файла, упомянутый ранее для этого метода.
Если кто-то ищет это после меня, вот очень простой способ добавить свой Путь.
Отправьте путь к файлу, как показано на рисунке, скопируйте и вставьте его из файла и добавьте конкретный путь в конце с предыдущей точкой с запятой в новый путь. Может потребоваться адаптация до Windows 7, но, по крайней мере, это легкая отправная точка.
Основная часть ответа должна быть в тексте, а не на внешнем скриншоте.
Роланд Иллиг
-3
Лучший способ сделать это - просто установить файл .EXE в папку windows / system32. Таким образом, вы можете запустить его из любого места. Это то же самое место, где можно найти пинг с расширением .exe.
Ответы:
Вы должны убедиться, что исполняемый файл находится в папке, которая находится в
PATH
переменной среды.Вы можете сделать это, либо установив его в папку, которая уже есть,
PATH
либо добавив вашу папку вPATH
.Вы можете сделать так, чтобы ваш установщик сделал это, но вам нужно будет перезагрузить машину, чтобы убедиться, что она подобрана.
источник
Вы можете добавить следующий реестра ключ :
В этом ключе добавьте строковое значение по умолчанию, содержащее путь к exe-файлу.
источник
start
командой, поэтому вы можете ввестиstart myexe
приглашение cmd.exe. Ноmyexe
я думаю, что одно не должно работать (если только вы не находитесь в каталогеmyexe
или этот каталог не находится вPATH
переменной окружения).myprog.cmd
файл со следующим содержимым:@START myprog.exe %*
это вызываетApp Paths
запись дляmyprog.exe
и передает все аргументы команды. Файл должен быть создан где-то доступным вPATH
PATH
.start myexe
работает с этим изменением реестра, без добавления myexe вPATH
.start myapp
работает, как и Win + Rmyapp
, но не обычныйmyapp
в cmd.exe.Вы должны поместить
.exe
путь вашего файла в путь переменной среды. Перейдите в «Мой компьютер -> Свойства -> Дополнительно -> Переменные среды -> Путь» и отредактируйте путь, добавив.exe
каталог в путь.Другое решение, которое я лично предпочитаю, - это использовать RapidEE для более плавного редактирования переменных.
источник
Windows 10, 8.1, 8
Откройте меню «Пуск»,
Edit environment variables
Edit the system environment variables
Environment variables...
кнопкуSystem Variables
поле найдитеpath
переменнуюEdit
New
.exe
илиbatch
файла ( каталог означает исключить имя файла из пути)Ok
на все открытые окна иперезагрузите систему,перезапустите командную строку .источник
Вместо того, чтобы помещать исполняемый файл в каталог на пути, вы должны создать пакетный файл в каталоге на пути, который запускает программу. Таким образом, вы не отделяете исполняемый файл от поддерживающих его файлов и не добавляете другие вещи в том же каталоге к пути непреднамеренно.
Такой командный файл может выглядеть так:
источник
C:\cygwin\bin\grep.exe
start ""
и начните с пути к исполняемому файлу. Кроме того, для использования в cygwin может потребоваться сценарий оболочки cygwin или символическая ссылка. Или псевдоним оболочки.Удивительно, что для такой простой задачи в Windows нет простого решения, я создал небольшой сценарий cmd, который можно использовать для определения псевдонимов в окнах (инструкции находятся в самом заголовке файла):
https://gist.github.com/benjamine/5992592
это почти такой же подход, который используется инструментами типа NPM или ruby для регистрации глобальных команд.
источник
Допустим, мой exe-файл - C: \ Program Files \ AzCopy \ azcopy.exe.
Команда / CMD / Batch
PowerShell
Теперь я могу просто набирать и использовать
azcopy
из любого места из любой командной строки shell inc, powershell, git bash и т. Д.источник
источник
Вы также можете навсегда (после перезагрузки) добавить переменную Path следующим образом:
Щелкните правой кнопкой мыши Мой компьютер -> Нажмите Свойства -> Нажмите Дополнительные параметры системы -> Нажмите Переменные среды
Ссылка: Изменить системные / пользовательские переменные
источник
Поместите его в каталог c: \ windows или добавьте свой каталог к «пути» в настройках среды (Windows-Break - вкладка «Дополнительно»)
С уважением, // т
источник
C:\Windows
лучше добавить пользовательский каталог вPATH
переменную окружения.Используйте пакетный файл из 1 строки в вашей установке:
запустить файл bat
Теперь поместите ваш .exe в c: \ windows, и все готово.
Вы можете ввести exename в командной строке, и он запустится.
источник
C:\Windows
лучше добавить пользовательский каталог вPATH
переменную окружения.Простые Bash-подобные псевдонимы в Windows
Чтобы получить глобальные псевдонимы bash-like в Windows для приложений, не добавляемых в путь автоматически, без добавления каждого из них в путь вручную, вот самое чистое решение, которое я придумала, которое вносит наименьшее количество изменений в систему и имеет наибольшее количество изменений. гибкость для последующей настройки:
«Установить» путь к псевдонимам
Добавьте свой псевдоним
Открыть в новом окне оболочки
Для начала
C:\path to\my program.exe
, передав все аргументы, открыв его в новом окне, создайтеc:\aliases\my program.bat
файл со следующим содержимым ( подробности о команде запуска см. В разделе Команда запуска NT):Выполнить в текущем окне оболочки
Для начала
C:\path to\my program.exe
, передав все аргументы, но запустив его в том же окне (больше похоже на то, как работает bash), создайтеc:\aliases\my program.bat
файл со следующим содержимым:Выполнить в текущем окне оболочки 2
Если вам вообще не нужно, чтобы приложение изменило текущий рабочий каталог для работы, вы можете просто добавить символическую ссылку на исполняемый файл внутри вашей папки aliases:
источник
Добавьте в PATH, шаги ниже (Windows 10):
источник
Другим способом может быть добавление
.LNK
к вашему $ PATHEX. Затем просто создайте ярлык для вашего исполняемого файла (т.е. yourshortcut.lnk) и поместите его в любой из каталогов, перечисленных в $ PATH.ПРЕДУПРЕЖДЕНИЕ ПРИМЕЧАНИЕ: знайте, что любые файлы .lnk, расположенные в любых каталогах, перечисленных в вашем $ PATH, теперь тоже «PATH». По этой причине я бы предпочел метод пакетного файла, упомянутый ранее для этого метода.
источник
Если кто-то ищет это после меня, вот очень простой способ добавить свой Путь.
Отправьте путь к файлу, как показано на рисунке, скопируйте и вставьте его из файла и добавьте конкретный путь в конце с предыдущей точкой с запятой в новый путь. Может потребоваться адаптация до Windows 7, но, по крайней мере, это легкая отправная точка.
Изображение командной строки для экспорта PATH в текстовый файл
источник
Лучший способ сделать это - просто установить файл .EXE в папку windows / system32. Таким образом, вы можете запустить его из любого места. Это то же самое место, где можно найти пинг с расширением .exe.
источник
C:\Windows
лучше добавить пользовательский каталог вPATH
переменную окружения.