Ta odpowiedź jest prawie zawsze zła. Przynajmniej jest niekompletny. W szczególności to podejście działa dobrze w przypadku INSTALOWANIA, ale nie nadaje się do odinstalowywania. Większość deinstalatorów wyrzuci całą zmienną PATH podczas odinstalowywania aplikacji z nią związanej. Dlatego, jeśli napiszesz akcję instalacji, aby dodać katalog do PATH, powinieneś uczynić ją CUSTOM instalacją, która nie jest automatycznie odinstalowywana przez ogólny pakiet usuwania. Następnie dopasuj ten krok instalacji niestandardowej do kroku dezinstalacji, który usuwa tylko twój katalog ze zmiennej PATH.
Kim Gentes
21
@KimGentes to problem z deinstalatorem. Dobry deinstalator powinien ładnie posprzątać. Nie oznacza to, że odpowiedź jest błędna.
ChrisF
3
Zgadzam się… to problem z instalatorem. Ale ponieważ wszystkie instalatory robią to na zmiennych (nie analizują i nie wyodrębniają części wpisów rejestru ani ZMIENNYCH ŚRODOWISKA), rozsądne wydaje się wyjaśnienie tego. Jeśli ktoś dokładnie zastosuje się do wskazówek, zawsze napotka ten problem, co oznacza, że rozwiązanie powinno prawdopodobnie zawsze zawierać to zastrzeżenie. Żadne pakiety instalacyjne nie zajmują się instalowaniem i odinstalowywaniem sekcji wpisów rejestru lub zmiennych ENV, o których wiem, chociaż proszę o informację, jeśli są jakieś, o których nie wiem.
Kim Gentes
Zamiast "instalować" środowisko użyj pliku wsadowego z poleceniem SETX: SETX PATH "C: \ Windows" ----- i gotowe.
Stavm
3
SETX jest również niebezpieczny, ponieważ ma znacznie niższy limit długości niż sama zmienna PATH i zostanie obcięty zamiast niepowodzenia.
@sherdim: Bardzo w to wątpię. Jednak zawsze działało z startpoleceniem, więc możesz wpisać start myexeznak zachęty cmd.exe. Ale myexemyślę, że samo nie powinno działać (chyba że jesteś w katalogu myexelub ten katalog znajduje się w PATHzmiennej środowiskowej).
Andreas Rejbrand
Po prostu tworzę mały myprog.cmdplik z następującą zawartością: @START myprog.exe %*Wywołuje App Pathswpis dla myprog.exei przekazuje wszystkie argumenty polecenia. Plik powinien zostać utworzony w miejscu dostępnym wPATH
Stavr00
1
@sherdim @ andreas-rejbrand Mogę potwierdzić, że to nie działa w systemie Windows 10, jeśli nie ma myexe PATH. start myexedziała z tą zmianą rejestru, bez dodawania myexe do PATH.
davenpcj
@davenpcj: Rzeczywiście. Klucz rejestru, o którym wspomniałem, jest powiązany z powłoką systemu Windows, a nie z wierszem poleceń. Więc start myappdziała, jak Win + R myapp, ale nie zwykły myappw cmd.exe.
Andreas Rejbrand
1
Ten klucz działa, aby uruchomić z Explorer.exe, jeśli spróbujesz z CMD.exe, nie zostanie znaleziony.
prampe
41
Musisz umieścić .exeścieżkę do pliku w ścieżce zmiennej środowiskowej. Przejdź do „Mój komputer -> właściwości -> zaawansowane -> zmienne środowiskowe -> Ścieżka” i edytuj ścieżkę, dodając .exekatalog do ścieżki.
Innym rozwiązaniem, które osobiście preferuję, jest użycie RapidEE do płynniejszej edycji zmiennych.
To jedyna odpowiedź, która mi pomogła. Dodam, że „restart systemu” nie jest konieczny. Wystarczy zrestartować cmd.
Joffrey Baratheon,
Z WinKey + R i wpisz SystemPropertiesAdvanced
prampe
29
Zamiast umieszczać plik wykonywalny w katalogu na ścieżce, powinieneś utworzyć plik wsadowy w katalogu na ścieżce, która uruchamia program. W ten sposób nie oddzielasz pliku wykonywalnego od jego plików pomocniczych i nie dodajesz przypadkowo innych rzeczy w tym samym katalogu do ścieżki.
Taki plik wsadowy może wyglądać następująco:
@echo off
start "" "C:\Program Files (x86)\Software\software.exe" %*
Czy możesz dodać przykład takiego pliku wsadowego - byłoby miło?
petermeissner
Czuję, że to najlepsza opcja, nie chciałem dodawać zbyt wielu rzeczy do zmiennej ścieżki. Dokonam edycji w tym przykładzie odpowiedzi takiego pliku wsadowego.
Dino,
1
Problem, który mam z tym polega na tym, że uruchamia nową powłokę. Próbuję uruchomić plik binarny Cygwin w tej samej powłoce, co robi, jeśli odnoszę się do niego bezpośrednio jakoC:\cygwin\bin\grep.exe
Johann
4
@Johann: Wyjmij start "" i po prostu zacznij od ścieżki do pliku wykonywalnego. Ponadto, do użytku w cygwin, możesz potrzebować skryptu powłoki cygwin lub łącza symbolicznego. Lub alias powłoki.
Ben Voigt
Perfekcyjnie, dziękuję! Zgadzam się z Twoimi innymi opcjami dotyczącymi Cygwin, ale w tym przypadku próbuję użyć pliku binarnego Cygwin z PowerShell.
Johann
5
to niesamowite, że nie ma prostego rozwiązania dla tak prostego zadania w systemie Windows, stworzyłem ten mały skrypt cmd, którego możesz użyć do zdefiniowania aliasów w systemie Windows (instrukcje znajdują się w samym nagłówku pliku):
Jeśli chcesz mieć możliwość uruchomienia go wewnątrz cmd.exe lub plików wsadowych, musisz dodać katalog, w którym znajduje się plik .exe, do zmiennej% path% ( system lub użytkownik )
Jeśli chcesz móc go uruchomić w oknie dialogowym Uruchom (Win + R) lub w dowolnej aplikacji, która wywołuje ShellExecute , wystarczy dodać swój plik exe do klucza ścieżki aplikacji (jest to mniej podatne na błędy podczas instalacji / deinstalacji, a także nie zaśmieca w górę zmiennej ścieżki)
Zamiast umieszczać niestandardowe pliki wykonywalne w C:\Windows, należy raczej dodać niestandardowy katalog do PATHzmiennej środowiskowej.
Roland Illig
1
Proste aliasy podobne do Bash w systemie Windows
Aby uzyskać globalne aliasy podobne do bash w systemie Windows dla aplikacji, które nie są automatycznie dodawane do ścieżki bez ręcznego dodawania każdego z nich do ścieżki, oto najczystsze rozwiązanie, które wymyśliłem, które wprowadza najmniej zmian w systemie i ma najwięcej elastyczność w późniejszym dostosowywaniu:
„Zainstaluj” ścieżkę aliasów
mkdir c:\aliases
setx PATH "c:\aliases;%PATH%"
Dodaj swój alias
Otwórz w nowym oknie powłoki
Aby rozpocząć C:\path to\my program.exe, przekazując wszystkie argumenty, otwierając je w nowym oknie, utwórz c:\aliases\my program.batplik z następującą zawartością (zobacz Polecenie Start NT, aby uzyskać szczegółowe informacje na temat polecenia start):
@echo off
start "myprogram" /D "C:\path to\" /W "myprogram.exe" %*
Wykonaj w bieżącym oknie powłoki
Aby rozpocząć C:\path to\my program.exe, przekazując wszystkie argumenty, ale uruchamiając go w tym samym oknie (bardziej jak działa bash), utwórz c:\aliases\my program.batplik o następującej zawartości:
@echo off
pushd "C:\path to\"
"my program.exe" %*
popd
Wykonaj w bieżącym oknie powłoki 2
Jeśli nie potrzebujesz aplikacji do zmiany bieżącego katalogu roboczego w celu działania, możesz po prostu dodać link symboliczny do pliku wykonywalnego w folderze aliasów:
cd c:\aliases\
mklink "my program.exe" "c:\path to\my program.exe"
Innym sposobem może być dodanie .LNKdo $ PATHEX. Następnie po prostu utwórz skrót do swojego pliku wykonywalnego (np. Yourshortcut.lnk) i umieść go w dowolnym katalogu wymienionym w $ PATH.
UWAGA UWAGA: Pamiętaj, że wszystkie pliki .lnk znajdujące się w katalogach wymienionych w $ PATH są teraz również oznaczone jako „PATH”. Z tego powodu wolałbym metodę pliku wsadowego wspomnianą wcześniej w tej metodzie.
Jeśli ktoś szuka tego za mną, oto naprawdę łatwy sposób na dodanie swojej ścieżki.
Wyślij ścieżkę do pliku, jak pokazuje obraz, skopiuj i wklej ją z pliku i dodaj określoną ścieżkę na końcu z poprzedzającym średnikiem do nowej ścieżki. Może być konieczne dostosowanie przed Windows 7, ale przynajmniej jest to łatwy punkt wyjścia.
Zasadnicza część odpowiedzi powinna znajdować się w tekście, a nie na zewnętrznym zrzucie ekranu.
Roland Illig
-3
Najlepszym sposobem na to jest po prostu zainstalowanie pliku .EXE w folderze windows / system32. w ten sposób możesz uruchomić go z dowolnego miejsca. To jest to samo miejsce, w którym można znaleźć polecenie ping .exe
Odpowiedzi:
Musisz się upewnić, że exe znajduje się w folderze, który znajduje się w
PATH
zmiennej środowiskowej.Możesz to zrobić, instalując go w folderze, który jest już w
PATH
folderze lub dodając swój folder doPATH
.Możesz poprosić instalatora, aby to zrobił - ale będziesz musiał ponownie uruchomić komputer, aby upewnić się, że zostanie odebrany.
źródło
Możesz dodać następujący klucz rejestru :
W tym kluczu dodaj domyślną wartość ciągu zawierającą ścieżkę do pliku exe.
źródło
start
poleceniem, więc możesz wpisaćstart myexe
znak zachęty cmd.exe. Alemyexe
myślę, że samo nie powinno działać (chyba że jesteś w katalogumyexe
lub ten katalog znajduje się wPATH
zmiennej środowiskowej).myprog.cmd
plik z następującą zawartością:@START myprog.exe %*
WywołujeApp Paths
wpis dlamyprog.exe
i przekazuje wszystkie argumenty polecenia. Plik powinien zostać utworzony w miejscu dostępnym wPATH
PATH
.start myexe
działa z tą zmianą rejestru, bez dodawania myexe doPATH
.start myapp
działa, jak Win + Rmyapp
, ale nie zwykłymyapp
w cmd.exe.Musisz umieścić
.exe
ścieżkę do pliku w ścieżce zmiennej środowiskowej. Przejdź do „Mój komputer -> właściwości -> zaawansowane -> zmienne środowiskowe -> Ścieżka” i edytuj ścieżkę, dodając.exe
katalog do ścieżki.Innym rozwiązaniem, które osobiście preferuję, jest użycie RapidEE do płynniejszej edycji zmiennych.
źródło
Windows 10, 8.1, 8
Otwórz menu startowe,
Edit environment variables
Edit the system environment variables
Environment variables...
przyciskSystem Variables
polu znajdźpath
zmiennąEdit
New
.exe
lubbatch
( Directory oznacza wykluczenie nazwy pliku ze ścieżki)Ok
wszystkie otwarte okna iuruchom ponownie system,zrestartuj wiersz poleceń .źródło
Zamiast umieszczać plik wykonywalny w katalogu na ścieżce, powinieneś utworzyć plik wsadowy w katalogu na ścieżce, która uruchamia program. W ten sposób nie oddzielasz pliku wykonywalnego od jego plików pomocniczych i nie dodajesz przypadkowo innych rzeczy w tym samym katalogu do ścieżki.
Taki plik wsadowy może wyglądać następująco:
źródło
C:\cygwin\bin\grep.exe
start ""
i po prostu zacznij od ścieżki do pliku wykonywalnego. Ponadto, do użytku w cygwin, możesz potrzebować skryptu powłoki cygwin lub łącza symbolicznego. Lub alias powłoki.to niesamowite, że nie ma prostego rozwiązania dla tak prostego zadania w systemie Windows, stworzyłem ten mały skrypt cmd, którego możesz użyć do zdefiniowania aliasów w systemie Windows (instrukcje znajdują się w samym nagłówku pliku):
https://gist.github.com/benjamine/5992592
jest to w zasadzie to samo podejście używane przez narzędzia takie jak NPM lub ruby gems do rejestrowania poleceń globalnych.
źródło
Powiedzmy, że mój plik exe to C: \ Program Files \ AzCopy \ azcopy.exe
Command / CMD / Batch
PowerShell
Mogę teraz po prostu pisać i używać
azcopy
z dowolnego miejsca z dowolnego wiersza poleceń powłoki inc, programu PowerShell, git bash itpźródło
źródło
Możesz również na stałe (po ponownym uruchomieniu) dodać do zmiennej Path w ten sposób:
Kliknij prawym przyciskiem myszy Mój komputer -> Kliknij Właściwości -> Kliknij Zaawansowane ustawienia systemu -> Kliknij Zmienne środowiskowe
Odniesienie: Zmiana zmiennych systemowych / użytkownika
źródło
Umieść go w katalogu c: \ windows lub dodaj swój katalog do "ścieżki" w ustawieniach środowiska (windows-break - zakładka zaawansowane)
pozdrowienia, // t
źródło
C:\Windows
, należy raczej dodać niestandardowy katalog doPATH
zmiennej środowiskowej.Użyj 1-wierszowego pliku wsadowego w swojej instalacji:
uruchom plik bat
Teraz umieść swój plik .exe w c: \ windows i gotowe.
możesz wpisać „exename” w linii poleceń i uruchomi go.
źródło
C:\Windows
, należy raczej dodać niestandardowy katalog doPATH
zmiennej środowiskowej.Proste aliasy podobne do Bash w systemie Windows
Aby uzyskać globalne aliasy podobne do bash w systemie Windows dla aplikacji, które nie są automatycznie dodawane do ścieżki bez ręcznego dodawania każdego z nich do ścieżki, oto najczystsze rozwiązanie, które wymyśliłem, które wprowadza najmniej zmian w systemie i ma najwięcej elastyczność w późniejszym dostosowywaniu:
„Zainstaluj” ścieżkę aliasów
Dodaj swój alias
Otwórz w nowym oknie powłoki
Aby rozpocząć
C:\path to\my program.exe
, przekazując wszystkie argumenty, otwierając je w nowym oknie, utwórzc:\aliases\my program.bat
plik z następującą zawartością (zobacz Polecenie Start NT, aby uzyskać szczegółowe informacje na temat polecenia start):Wykonaj w bieżącym oknie powłoki
Aby rozpocząć
C:\path to\my program.exe
, przekazując wszystkie argumenty, ale uruchamiając go w tym samym oknie (bardziej jak działa bash), utwórzc:\aliases\my program.bat
plik o następującej zawartości:Wykonaj w bieżącym oknie powłoki 2
Jeśli nie potrzebujesz aplikacji do zmiany bieżącego katalogu roboczego w celu działania, możesz po prostu dodać link symboliczny do pliku wykonywalnego w folderze aliasów:
źródło
Dodaj do PATH, kroki poniżej (Windows 10):
źródło
Innym sposobem może być dodanie
.LNK
do $ PATHEX. Następnie po prostu utwórz skrót do swojego pliku wykonywalnego (np. Yourshortcut.lnk) i umieść go w dowolnym katalogu wymienionym w $ PATH.UWAGA UWAGA: Pamiętaj, że wszystkie pliki .lnk znajdujące się w katalogach wymienionych w $ PATH są teraz również oznaczone jako „PATH”. Z tego powodu wolałbym metodę pliku wsadowego wspomnianą wcześniej w tej metodzie.
źródło
Jeśli ktoś szuka tego za mną, oto naprawdę łatwy sposób na dodanie swojej ścieżki.
Wyślij ścieżkę do pliku, jak pokazuje obraz, skopiuj i wklej ją z pliku i dodaj określoną ścieżkę na końcu z poprzedzającym średnikiem do nowej ścieżki. Może być konieczne dostosowanie przed Windows 7, ale przynajmniej jest to łatwy punkt wyjścia.
Obraz wiersza polecenia do wyeksportowania PATH do pliku tekstowego
źródło
Najlepszym sposobem na to jest po prostu zainstalowanie pliku .EXE w folderze windows / system32. w ten sposób możesz uruchomić go z dowolnego miejsca. To jest to samo miejsce, w którym można znaleźć polecenie ping .exe
źródło
C:\Windows
, należy raczej dodać niestandardowy katalog doPATH
zmiennej środowiskowej.