2013-01-14 10 views
7

Moim celem jest, aby dodać kilka plików wykonywalnych na mojej ścieżce (na przykład chrom), tak, że mogę zadzwonićWindows CMD: Jak utworzyć dowiązanie symboliczne do pliku wykonywalnego?

> chrome 

z wiersza poleceń i uruchomi Chrome.

Wiem, że mogę dodać katalog zawierający Chrome do mojej ścieżki (set PATH=%PATH%<chrome_path_here>;), ale ponieważ mam kilka plików wykonywalnych, które chcę dodać, wolę utworzyć nowy katalog bin zawierający dowiązania symboliczne do rzeczywistych plików wykonywalnych i po prostu dodaj ten pojedynczy katalog do mojej zmiennej PATH.

Chrome wykonywalny znajduje się w

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 

Więc próbowałem

> mklink chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 

które z powodzeniem tworzy dowiązanie symboliczne do plików (tak mówi na wyjściu, a po zbadaniu z > dir). Wiem, że moja ścieżka jest poprawnie skonfigurowana, b/c po uruchomieniu > where chrome znajduje moje nowe dowiązanie symboliczne.

Jednak gdy próbuję wykonać chrome z nowym łączem, nic się nie dzieje. Powinno pojawić się nowe puste okno, ale nic się nie dzieje. Brak komunikatu o błędzie w wierszu polecenia lub cokolwiek innego.

Co robię źle? Czy nie rozumiem dowiązań symbolicznych w systemie Windows? Jest to podejście, którego używam w Linuksie przez cały czas, ale jestem nowy w Windows Cmd.

Dzięki!

Odpowiedz

5

Większość programów nie uruchamia się z miejsc innych niż miejsca instalacji - dokładnie tak się dzieje podczas próby uruchomienia z dowiązania symbolicznego.

Byłoby o wiele łatwiej tworzyć pliki CMD/BAT w tym folderze z pasującymi nazwami, które rozpocznie programów z miejsc, które chcesz:

REM chrome.cmd 
start /b cmd /c "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %* 
+0

Fajnie, dziękuję za informację! Umieściłem ten kod w pliku o nazwie "chrome.bat", a teraz działa –

+4

Inną opcją byłby skrót, chociaż trzeba by dodać .lnk do zmiennej PATHEXT. –

5

z Windows 7 potwierdzić, że dowiązania nie działają, są po prostu ignorowane, jak podano w pierwotnym pytaniu.

Jako Harry stwierdza w swoim komentarzu, skróty zrobić pracy, a dla mnie są prostsze i łatwiejsze niż pisanie oddzielny skrypt dla każdej nowej komendzie Chcę włączyć pod CMD.

Podkreśla, że ​​aby to zrobić, musisz dodać .lnk do zmiennej PATHEXT. Potwierdzam, że to działa, a przy .lnk dodanym do PATHEXT mogę po prostu wprowadzić część nazwy skrótu, aby uruchomić polecenie. Na przykład, jeśli mój skrót ma nazwę "sublime.lnk", a PATHEXT zawiera .lnk, mogę wykonać połączenie za pomocą prostego polecenia "sublime". Miły!

Jako alternatywę stwierdziłem, że PATHEXT nie musi być modyfikowany, jeśli po prostu wpisuję pełną nazwę skrótu, w tym .lnk, na mój monit CMD. Np. Utworzyłem skrót o nazwie "sublime.lnk" w katalogu% HOMEPATH%/bin, wskazując "C: \ Program Files \ Sublime Text 2 \ sublime_text.exe".

Teraz umieszczając% HOMEPATH% \ bin w mojej% PATH% i mogę sublime za pomocą polecenia "sublime.lnk".

Każdy z powyższych jest najlepszym sposobem, w jaki znam dostęp do różnych poleceń z systemu plików Windows z monitu CMD. Nie jestem jednak ekspertem od Windows i z zadowoleniem przyjmuję lepsze lub bardziej wystandaryzowane rozwiązanie tego problemu.


PS: Właśnie dowiedziałem się na własnej skórze, że trzeba zapewnić „Rozpocznij w:” własność dowolnego skrótu używanego w ten sposób jest wygaszona lub program nie rozpocznie się w katalogu wywołaj skrót z.


P.P.S .: Na powiązana uwaga, odkryłem, jak uruchomić Eksploratora Windows (lub jej zamiennik) w katalogu sesja CMD jest zalogowany do: start ..

Powiązane problemy