Dodanie pliku .exe do domyślnej ścieżki bez dodawania katalogu

22

Na przykład chcę dodać notepad ++ do mojej PATH, jednak katalog zawiera także uninstall.exekilka innych plików / plików wykonywalnych i nie chcę, aby „zanieczyszczały” moją ścieżkę. Czy mogę po prostu dodać ten notepad++.exe?

Louis Rhys
źródło

Odpowiedzi:

17

Możesz dodać skrypt wsadowy do katalogu, który znajduje się na twojej ścieżce, który wygląda mniej więcej tak:

@echo off

:: Notepad++ execution

if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
goto :START

:START
start "" /i "%ProgramFiles(x86)%\notepad++\notepad++.exe" %*
goto :EOF

:HELP
echo -------------------------------
echo Notepad++ Command Argument Help
echo -------------------------------
echo Usage :
echo.
echo notepad++ [--help] [-multiInst] [-noPlugins] [-lLanguage] [-nLineNumber] [-cColumnNumber] [-xPos] [-yPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [fullFilePathName]
echo.
echo     --help : This help message
echo     -multiInst : Launch another Notepad++ instance
echo     -noPlugins : Launch Notepad++ without loading any plugin
echo     -l : Launch Notepad++ by applying indicated language to the file to open
echo     -n : Launch Notepad++ by scrolling indicated line on the file to open
echo     -c : Launch Notepad++ on scrolling indicated column on the file to open
echo     -x : Launch Notepad++ by indicating its left side position on the screen
echo     -y : Launch Notepad++ by indicating its top position on the screen
echo     -nosession : Launch Notepad++ without any session
echo     -notabbar : Launch Notepad++ without tabbar
echo     -ro : Launch Notepad++ and make the file to open read only
echo     -systemtray : Launch Notepad++ directly in system tray
echo     -loadingTime : Display Notepad++ loading time
echo     -alwaysOnTop : Make Notepad++ always on top
echo     fullFilePathName : file name to open (absolute or relative path name)
echo.
goto :EOF

:EOF

Możesz to nazwać notepad++.cmd. Sekcja pomocy pozwala łatwo uzyskać informacje na temat przełączników.

Umieszczam wszystkie takie skrypty i programy wiersza poleceń w katalogu dodawanym do %PATH%: C:\Users\Public\Command\ ... i ten katalog jest synchronizowany ze wszystkimi komputerami i maszynami wirtualnymi.

paradroid
źródło
8

Utwórz plik wsadowy z zawartością podobną do następującej:

@"C:\Program Files\Git\bin\git.exe" %*

To powinno być zapisane jako .batplik, na przykład git.batw katalogu, który znajduje się w twoim PATH.

@pomija echo polecenia dla wywołującej powłoki. Cytaty ""zapobiegają interpretowaniu białych znaków jako ograniczników argumentów. %*wkleja wszelkie argumenty do pliku wsadowego, zamiast tego do cytowanego pliku wykonywalnego.

Możesz teraz wywołać plik wykonywalny, używając wcześniej części nazwy pliku wsadowego .bat. W moim przypadku git.

Referencje:

Matt Joiner
źródło
W przypadku wielu programów, które zawieszają CMD, dopóki go nie zamkniesz. Musisz tego użyć, startaby tego uniknąć, jak pokazano w mojej odpowiedzi.
paradroid
@paradroid: Dzięki, ale to standardowe zachowanie terminala, aby pozostać przywiązanym do rodzica, chyba że zostanie o to poproszony. Użytkownik powinien start gitraczej to zrobić niż zrobić za nich. Skrypt batch lepiej działać, jeśli execbyłyby do żądanego procesu, ale nie jest to możliwe w systemie Windows: serverfault.com/questions/315077/... . Mógłbym calliść do przodu, ale byłoby to pedantyczne i w większości bezcelowe.
Matt Joiner
3

Przeciągnij skrót notepad++.exedo C:\Windows\System32.


Alternatywnie, jak sugeruje @Synetech Inc., możesz umieścić skróty w osobnym katalogu (np. C:\Shortcuts), A następnie dodać ten katalog do %PATH%:

setx PATH "%PATH%;C:\Shortcuts"

Jak wskazują niektóre komentarze, działa to tylko z okna dialogowego Uruchom. Aby uzyskać skróty do uruchamiania z wiersza polecenia, musisz dodać rozszerzenie skrótu (.LNK) do zmiennej środowiskowej PATHEXT.

setx PATHEXT %pathext%;.LNK

Referencje:

Jak mogę łatwo uruchamiać aplikacje za pomocą okna dialogowego Uruchom?

Mateen Ulhaq
źródło
1
Jest to preferowane rozwiązanie (w przeciwieństwie do pliku wsadowego); utwórz skrót do (innego) katalogu na ścieżce - nie zanieczyszczaj katalogów Windows! Mam specjalnie do tego celu folder o nazwie Shortcuts.
Synetech,
1
To zła składnia dla setx. Nie używasz znaku równości, a IIRC, musisz zawrzeć całą ścieżkę w cudzysłowach, jeśli prąd %PATH%ma w niej spacje (co będzie).
paradroid
I czy nie SETXużywa tyldy dla zmiennych zamiast procentów, aby uniknąć ich rozszerzenia? Wiem, że niektóre narzędzia do ustawiania env-var nie…
Synetech
2
To nie działa Domyślnie (przeciągam git.exe), „git - skrót”, zmiana nazwy na kombinacje „git.exe”, „git”, „git.cmd” itp. Nie ma żadnego efektu. Nie potwierdzi skrótu.
Matt Joiner
3
Działa to tylko podczas wywoływania z Run Asokna dialogowego, nie działało z wiersza polecenia.
Matt Joiner
1

Wystarczy utworzyć dowiązanie symboliczne za mklinkpomocą folderu w ścieżce.

np. (w wierszu polecenia administratora)

mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
Luigi Plinge
źródło
0

Klucz rejestru Ścieżek aplikacji robi dokładnie to: ustaw ścieżkę do notatnika ++. Exe na „\ program files \ ...”, a będziesz mógł uruchomić go z Start-Run, cmd, ... tak jak każdy plik wykonywalny z katalog w% PATH%.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Odniesienie: /programming/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows

patraulea
źródło
To nie sprawi, że będzie wykonywalny z cmd - tylko od start-run, lub w cmd musisz poprzedzić go „start” jak w „start myapp.exe”
Tahir Hassan
Uzgodnione polecenie Wiersz polecenia nie ma możliwości rozpoznania tej zmiennej. PowerShell to rozpoznaje. Co ważniejsze, to rozwiązanie dotyczy tylko katalogu, a zatem nie na temat.
Todd Partridge
0

Nie podobało mi się żadne z przedstawionych tutaj rozwiązań, więc spróbowałem czegoś innego.

  1. Zainstaluj rozszerzenie powłoki łącza (więcej informacji tutaj )

  2. Utwórz folder, w którym będą przechowywane wszystkie skróty, jak sugeruje Marteen, i dodaj go do swojego %PATH%. Stworzyłem C:\Shortcutsi użyłem Rapid Environment Editor, aby dodać go do mojej ŚCIEŻKI.

  3. Kliknij prawym przyciskiem myszy plik, który chcesz dodać do ścieżki (w Eksploratorze), a następnie kliknij „Wybierz źródło linku”

  4. Kliknij prawym przyciskiem myszy właśnie utworzony folder i kliknij Drop As > Symbolink Link.

  5. Zmień nazwę łącza symbolink, jeśli chcesz.

to jest to! Powinieneś mieć teraz dostęp do swojego programu za pomocą wiersza polecenia. Jeśli właśnie dodałeś nowy folder do PATH, będziesz musiał ponownie uruchomić cmd.exe lub Cmder lub ConEmu lub cokolwiek innego. Następnie możesz dodawać nowe programy bez ponownego uruchamiania.

mpen
źródło