Jak mogę zrobić „..”, aby przejść do katalogu nadrzędnego, takiego jak „cd ..” w systemie Windows?

6

Chcę móc wpisać „..”, aby przejść do katalogu nadrzędnego, zamiast „cd ..”. Czy jest to możliwe w wierszu polecenia systemu Windows?

Derek Li
źródło
Możliwe w wierszu polecenia PowerShell, ale nie w klasycznym starszym wierszu polecenia. System Windows 10 od 1703 r. Domyślnie używa wiersza polecenia programu PowerShell.
Ramhound
Jest coś o nazwie cmdlet New-Alias ​​i teoretycznie możesz utworzyć alias do własnego przecinka, ..chociaż może to stanowić problem z powodu reguł składni programu PowerShell, teraz, gdy myślę o tym trochę więcej.
Ramhound
Mógłbyś użyć, set ..=cd ..a potem mógłbyś użyć %..%, jeśli to by wystarczyło. Zobacz zrzut ekranu z moim testem: i.imgur.com/vSMW9Ax.png
Pimp Juice IT

Odpowiedzi:

2

Tak, możesz doskey.exedo tego użyć . Jest dostępny we wszystkich najnowszych wersjach systemu operacyjnego (i nie tak niedawno ... DOS 6.22). Zawsze dostępny, mało znany - zawiera między innymi historię.
doskey ..=cd ..

C:\temp>..
C:\>

Referencje Technet https://technet.microsoft.com/en-us/library/cc753867(v=ws.11).aspx

Aby to makro było trwałe, musisz skonfigurować je za pomocą Autorun.
Odhelp cmd

Jeśli w wierszu poleceń NIE podano / D, to po uruchomieniu CMD.EXE szuka następujących zmiennych rejestru REG_SZ / REG_EXPAND_SZ, a jeśli jeden lub oba są obecne, są one wykonywane jako pierwsze.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
wmz
źródło
Doskey ... dlaczego nie pomyślałem o tym ... dobrym pomysle +1
Pimp Juice IT
2

Nie tylko z cmd.exe . Nawet jeśli pomyślnie utworzysz plik ...bat , nie zostanie on rozpoznany i wywołany podczas pisania ..i naciskania Enter.

Możesz to jednak osiągnąć. Jeśli zainstalujesz bezpłatne narzędzie AutoHotKey , następujące makro wysyła oczekiwane polecenie za każdym razem, gdy naciśniesz Ctrl+ (tylko w oknie, które ma cmd.exetytuł):

#IfWinActive cmd.exe

F9::
^up::Send {Esc}cd..{Enter}

F12::
^+up::Send {Esc}cd{asc 92}{Enter}

#IfWinActive

Testowany, działa dobrze.

Edytować:

Bonus: Rozszerzyłem makro.

  • Ctrl+ lub po prostu F9robicd..

  • Ctrl+ Shift+ lub po prostu F12robicd\

  • Nie mapowałem kluczy między F1i F8, ponieważ są one już w użyciu cmd.exe.

miroxlav
źródło
Powinieneś usunąć. wmz spełniło dokładne żądanie.
Jozuego
1
@Joshua - Czy masz na myśli usunięcie odpowiedzi? Myślę, że ma swoją wartość, chociaż nie jest dokładna. Dla kogoś naciśnięcie pojedynczego klawisza jest istotną innowacją zamiast pisania kropka + kropka + Enter. Dodałem także F12 do przejścia do katalogu głównego. I F10 jest nadal dostępny do dalszego dodawania niestandardowej funkcjonalności (F11 jest w użyciu).
miroxlav