Właśnie skończyłem konfigurować środowisko programistyczne na komputerze z systemem Windows 7. Do obsługi wiersza poleceń i terminala zainstalowałem program o nazwie Console2, który jest niesamowity dla każdego, kto używa terminala na komputerze z systemem Windows.
Jedną z ważnych rzeczy, których potrzebowałem, była możliwość szybkiego dostępu do folderów w terminalu, bez konieczności robienia cd /directroy/name/etc/etc
tego zawsze, dlatego moim celem było menu kontekstowe w folderze Eksploratora prawym przyciskiem myszy.
Udało mi się to zrobić za pomocą następujących modyfikacji / uzupełnień klucza rejestru
[HKEY_CLASSES_ROOT\Directory\shell\open_console]
@=Open Console2 Here
Icon=C:\Program Files\Console2\Console.ico
[HKEY_CLASSES_ROOT\Directory\shell\open_console\Command]
@=C:\Program Files\Console2\Console.exe -d "%v"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\open_console]
@=Open Console2 Here
Icon=C:\Program Files\Console2\Console.ico
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\open_console\Command]
@=C:\Program Files\Console2\Console.exe -d "%v"
Działa świetnie, teraz widzę menu kontekstowe, aby otworzyć okno terminala na ścieżce folderu na 2 sposoby.
- Kliknięcie prawym przyciskiem myszy nazwy folderu spowoduje wyświetlenie komunikatu „Otwórz konsolę 2 tutaj”
- Otwierając folder i klikając prawym przyciskiem myszy w tle, widzę to samo menu kontekstowe, aby również otworzyć terminal.
Teraz mój problem polega na tym, że często uzyskuję dostęp do folderów i obszarów roboczych za pomocą bibliotek systemu Windows, co powoduje, że moje menu kontekstowe nie działa, gdy uzyskuję dostęp do folderu przez bibliotekę, zamiast przechodzić bezpośrednio do folderu.
Na przykład, jeśli otworzę Eksploratora i przejdę do ...
E:\Server\htdocs\labs\javascript\SampleJSProject
wtedy mogę wyświetlić i korzystać z niestandardowego menu kontekstowego.
Jednak jeśli uzyskam dostęp do tego samego folderu za pomocą mojego skrótu / bibliotek, ścieżka wygląda następująco ...
Libaries\Server Labs\javascript\SampleJSProject
a teraz moje menu kontekstowe do otwarcia terminala się nie wyświetla. Jeśli kliknę w obszarze Adres, wyświetli się poprawna pełna ścieżka, jak wymieniono powyżej.
Mam nadzieję, że jest to łatwe rozwiązanie, takie jak dodanie gdzieś innego klucza rejestru, ale nie jestem pewien, gdzie?
Czy ktoś ma jakieś pomysły lub rozwiązania?
źródło
Odpowiedzi:
Sztuczka polega na tym, że foldery biblioteczne mają swój własny klucz.
Co dziwne, jego „LibraryFolders” trzeba zmodyfikować KLUCZ, aby uzyskać pożądany efekt.
Na przykład, aby dodać pozycję kontekstową „Otwórz okno poleceń tutaj” do folderu biblioteki, użyj następującego rejestru:
HTH
-(mi)
źródło
Aby rozwinąć odpowiedź sweetlilmre :
Jeśli nie masz uprawnień do edycji
HKEY_CLASSES_ROOT
(problem, który pojawił się na moim laptopie firmowym), możesz także edytowaćHKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmd\command
.Być może trzeba utworzyć
LibraryFolder
i jego podklucze (musiałem), ale wystarczy stworzyć puste klucze.cmd
można również nazwać inaczej, jedyną rzeczą, która ma znaczenie, jest wartość tego klucza (czyli tekst wyświetlany w menu kontekstowym) icommand
klucz, którego wartość zostanie wykonana. Najwyraźniej wystarczy użyćcmd.exe
jako polecenia; wiersz poleceń automatycznie uruchamia się w katalogu, w którym kliknięto prawym przyciskiem myszy, nie są wymagane żadne dodatkowe parametry (przynajmniej w Win 7 Enterprise, którego używam).Nie jestem szczególnie zaznajomiony ze skryptami do edycji rejestru, więc zrobiłem to ręcznie. Jeśli ktoś wie, jak sformułować powyższe informacje w skrypcie, możesz je edytować w tej odpowiedzi.
Premia: jeśli dodasz klucz łańcucha
cmd
(lub jakkolwiek go nazwałeś) o nazwie „Ikona” i ustawisz na „cmd.exe”, pozycji menu kontekstowego będzie również towarzyszyć ikona.Zobacz te obrazy, jak powinien wyglądać rejestr po wykonaniu powyższych kroków (jak wspomniano,
LibraryFolder
jest dzieckiemHKEY_CURRENT_USER\Software\Classes
):źródło