„Zarejestruj” plik .exe, aby można było go uruchomić z dowolnego wiersza poleceń w systemie Windows


Odpowiedzi:


97

Musisz się upewnić, że exe znajduje się w folderze, który znajduje się w PATHzmiennej środowiskowej.

Możesz to zrobić, instalując go w folderze, który jest już w PATHfolderze lub dodając swój folder do PATH.

Możesz poprosić instalatora, aby to zrobił - ale będziesz musiał ponownie uruchomić komputer, aby upewnić się, że zostanie odebrany.


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.
Ben Voigt

48

Możesz dodać następujący klucz rejestru :

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\myexe.exe

W tym kluczu dodaj domyślną wartość ciągu zawierającą ścieżkę do pliku exe.


1
@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.


39

Windows 10, 8.1, 8

Otwórz menu startowe,

  1. Rodzaj Edit environment variables
  2. Otwórz opcję Edit the system environment variables
  3. Kliknij Environment variables... przycisk
  4. Tam widzisz dwa pola, w System Variablespolu znajdźpath zmienną
  5. Kliknij Edit
  6. pojawi się okno, kliknij New
  7. Wpisz ścieżkę katalogu swojego pliku .exelub batch( Directory oznacza wykluczenie nazwy pliku ze ścieżki)
  8. Kliknij Okwszystkie otwarte okna i uruchom ponownie system, zrestartuj wiersz poleceń .

4
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" %*

1
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):

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.


5

Powiedzmy, że mój plik exe to C: \ Program Files \ AzCopy \ azcopy.exe

Command / CMD / Batch

SET "PATH=C:\Program Files\AzCopy;%PATH%"

PowerShell

$env:path = $env:path + ";C:\Program Files\AzCopy"

Mogę teraz po prostu pisać i używać azcopyz dowolnego miejsca z dowolnego wiersza poleceń powłoki inc, programu PowerShell, git bash itp


3
  • 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)


2

Umieść go w katalogu c: \ windows lub dodaj swój katalog do "ścieżki" w ustawieniach środowiska (windows-break - zakładka zaawansowane)

pozdrowienia, // t


Zamiast umieszczać niestandardowe pliki wykonywalne w C:\Windows, należy raczej dodać niestandardowy katalog do PATHzmiennej środowiskowej.
Roland Illig

To zależy. Putty.exe umieściłem w / windows.
Teson

1

Użyj 1-wierszowego pliku wsadowego w swojej instalacji:

SETX PATH "C:\Windows"

uruchom plik bat

Teraz umieść swój plik .exe w c: \ windows i gotowe.

możesz wpisać „exename” w linii poleceń i uruchomi go.


2
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"

0

Dodaj do PATH, kroki poniżej (Windows 10):

  1. Wpisz w pasku wyszukiwania "środowisko ..." i wybierz Edytuj zmienne środowiskowe systemu, co otworzy okno Właściwości systemu
  2. Kliknij przycisk Zmienne środowiskowe ...
  3. Na karcie Zmienne środowiskowe kliknij dwukrotnie zmienną Path w sekcji Zmienne systemowe
  4. Dodaj ścieżkę do folderu zawierającego .exe do ścieżki, klikając dwukrotnie pusty wiersz i wklej ścieżkę.
  5. Kliknij ok i wyjdź. Otwórz nowy znak zachęty cmd i naciśnij polecenie z dowolnego folderu i powinno działać.

0

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.


-1

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


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


Zamiast umieszczać niestandardowe pliki wykonywalne w C:\Windows, należy raczej dodać niestandardowy katalog do PATHzmiennej środowiskowej.
Roland Illig
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.