Kiedy [ Shift+ kliknięcie prawym przyciskiem myszy] folder, który nie znajduje się na moim C
dysku i wybiorę „Otwórz konsolę tutaj”, pojawia się cmd
okno, które nie jest otwarte we właściwej lokalizacji, ale wskazuje na C:\Windows\system32
. Muszę ręcznie przełączyć na właściwy dysk, ale kiedy to zrobię, znajduje się w odpowiednim folderze. To nie koniec świata, ale to mała irytacja, która naprawdę zaczyna mi działać na nerwy ...
Uwaga: Działa poprawnie w przypadku lokalizacji na C
dysku.
Czy jest to oczekiwane zachowanie, gdy jest używane poza C
?
Jeśli nie, jak to naprawić?
Jeśli tak, to jak mogę go zmienić, aby bezpośrednio ładował foldery innych dysków?
Na przykład, jeśli spróbuję otworzyć okno konsoli wskazujące folder na pulpicie, na przykład:
Pojawia się cmd
okno wskazujące, C:\Windows\system32
że muszę ręcznie przełączyć się na D:
, ale po wykonaniu tej czynności możesz zobaczyć, że folder w folderze D:
został pomyślnie wybrany:
Aktualizacja
Wygląda na to, że „Otwórz tutaj konsolę” może być niestandardowa (patrz komentarze).
Dla kompletności okazuje się, że po kliknięciu w folderze widzę prawdopodobnie standardowe „Otwórz okno poleceń tutaj” niżej na liście (jest to „przestrzeń plików”, a nie sama ikona folderu), jak na obrazku poniżej, więc jest pewna różnica między tymi dwoma, które się pojawiły:
źródło
Odpowiedzi:
Po sprawdzeniu rejestru i zapytaniu ludzi na czacie ustaliłem, że parametry przekazywane do instancji,
cmd
która została tu wywołana, są niepoprawne.Polecenie można znaleźć w,
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
a miałem(Default)
wartość:Zmiana tej wartości na następującą (uzyskaną podczas tej krótkiej sesji czatu ) rozwiązała problem:
Mimo że problem został rozwiązany, początkowo nie wiem, co spowodowało tę zmianę ...
źródło
PUSHD
. Użyj/D
opcji, abyCD
.pushd
jak wyżej. Nie wiem, dlaczego używająpushd
zamiastcd /d
.PUSHD
wykonuje dodatkową pracę ponad to, coCD /D
robi. Tylko jeśli chcesz wykonać dodatkową pracę, jest to właściwe. Oczywiście wypycha poprzedni bieżący katalog na stos katalogów. Ale także, zakładając, żeCMD
rozszerzenia są włączone, w pewnych okolicznościach tworzy tymczasowe litery dysków.Samo-odpowiedź DMA57361 wyraźnie rozwiązała pierwotny problem. Pomyślałem, że dodam trochę informacji, które odkryłem ...
Po pierwsze zauważyłem podejrzaną wartość w kluczu
HKEY_CLASSES_ROOT\Directory\shell\cmd
o nazwieExtended
. Przy przeczuciu zmieniłem nazwę tej wartości naxxx-Extended
i teraz element menu „Otwórz tutaj okno poleceń” często pojawia się bez klawisza Shift. Ponieważ stare rozwiązanie Ulepszanie interfejsu użytkownika nie wymagało klawisza Shift, to odkrycie mnie cieszy!Po drugie, moja stosunkowo niezmodyfikowana 64-bitowa instalacja systemu Windows 7 Pro ma klucz rejestru
HKEY_CLASSES_ROOT\Directory\shell\cmd\command
z domyślną wartościącmd.exe /s /k pushd "%V"
zestawu (zwróć uwagę, że typem jest REG_SZ, a nie REG_EXPAND_SZ. Znaczenie%V
(i zgłoszone użycie%L
) nie są wynikiem środowiska podstawianie zmiennych, a ekspansja musi być wykonana przez samego Explorera).Dostępne wtyczki menu kontekstowego są wymienione jako podklucze klucza rejestru
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
. (Pozostałe klucze....\shellex
to programy obsługi innych rodzajów rozszerzeń powłoki.) Jeden z tych programów obsługi, a może jedno z innych rozszerzeń, prawdopodobnie jest źródłem dziwnej domyślnej wartości....\command
klucza.Edytuj Klucz sąsiedni
HKEY_CLASSES_ROOT\Directory\Background\shell\cmd
, również ma wartość o nazwieExtended
. Okazuje się, że ta kontroluje menu kontekstowe w widoku zawartości folderu (prawy panel i sam pulpit), podczas gdy wyżej wymieniony kontroluje menu kontekstowe samych obiektów folderów (ich ikon po prawej lub na pulpicie lub w dowolnym miejscu w drzewie folderów po lewej).źródło
Extended
opcji, więc daj +1. Dzięki za wkład!pushd
jest wymagane, jeśli chcesz, aby system Windows 7 przełączał litery dysków na katalog, tzn. także przełącz dysk.Potrzebny klucz rejestru wygląda następująco (nazywam go DOS) - umieść go w pliku .reg i uruchom:
źródło