Kann die Windows-Befehlszeile Linux "cd -" unterstützen?

2172
Bin Chen

In Linux können wir cd -das vorherige Verzeichnis eingeben, wie:

/home/user: cd /a  /a: cd -  /home/user: 

Das -bedeutet das letzte vorherige Verzeichnis.

5

4 Antworten auf die Frage

11
danielkza

Sie können pushdund verwenden popd:

c:\> pushd c:\windows c:\Windows> popd c:\> 
Sie können diese auch auf * nix-Systemen verwenden, und sie sind nicht nur auf das letzte Verzeichnis beschränkt. Die Windows-Versionen haben auch einige Nebeneffekte wie das automatische Einhängen von Netzwerkfreigaben und dergleichen. quack quixote vor 14 Jahren 0
Ja, aber vergessen Sie nicht das "popd", nachdem Sie einen UNC-Pfad "pushd" gemacht haben. Andernfalls bleibt die temporäre Freigabe erhalten :-) Joey vor 14 Jahren 1
2
Pascal MARTIN

Windows-Kommandozeile alleine, nein ...

Falls erforderlich / interessiert, möchten Sie vielleicht etwas wie Cygwin oder Msys ausprobieren, wodurch Sie eine Linux-Shell unter Windows verwenden können.

Ich bin nicht sicher, ob es wirklich das ist, was Sie wollen, aber es könnte einige Ihrer Probleme lösen.

(Die andere Lösung ist nur ... Linux verwenden ^^)

1
Tura

Eine einfache Anmerkung für Benutzer, die Cmder verwenden ( übrigens ist es eine wirklich coole Alternative für cmd.)

Ich benutze Aliase für die bash-ähnliche Schnittstelle, etwa so:

C:\Users\myname> cd test-dir C:\Users\myname\test-dir> cd- C:\Users\myname> 

Sie können Aliase eingeben %CMDER_ROOT%\config\user-aliases.cmd

cd=pushd . & cd $* cd-=popd 
0
Programus

Vielleicht interessieren Sie sich dafür: https://gist.github.com/programus/2d2738b2a746140186f7738b678bdcec

Natürlich sind Pushd / Popd ein großartiges Befehlspaar, es kann jedoch nicht mehr zurückgeschaltet werden, wenn Sie den vorherigen Befehl herausgefahren haben.

Also habe ich selbst einen Stapel erstellt, der eine Verzeichnishistorie für das Zurückspringen enthalten konnte, da ich sehr oft zwischen vielen Verzeichnissen springen muss.

Hier ist die Hilfe:

cdx - display all saved path with leading id and name followed if any cdx <path> - save current path and jump to <path> cdx :<n|name> - jump to the Nth or named path in the saved list cdx : - jump to previous path cdx <n>:<name> - name the Nth path as <name> cdx rm [:]<n|name> - remove the Nth or named path from the list cdx clear - clear the list cdx /help - print out this help cdx /? - same as above 

und Beispiele

D:\>cdx "C:\Program Files" C:\Program Files>cdx [1] D:\  C:\Program Files>cdx d:\tmp d:\tmp>cdx [1] D:\ [2] C:\Program Files  d:\tmp>cdx t:\UsrTmp t:\UsrTmp>cdx . t:\UsrTmp>cdx [1] D:\ [2] C:\Program Files [3] d:\tmp [4] t:\UsrTmp  t:\UsrTmp>cdx :2 C:\Program Files>cdx [1] D:\ [2] C:\Program Files [3] d:\tmp [4] t:\UsrTmp  C:\Program Files>cdx rm 1 C:\Program Files>cdx [1] C:\Program Files [2] d:\tmp [3] t:\UsrTmp  C:\Program Files>cdx name 3:tmp C:\Program Files>cdx [1] C:\Program Files [2] d:\tmp [3] t:\UsrTmp <--<<< (tmp)  C:\Program Files>cdx :tmp t:\UsrTmp>cdx : C:\Program Files>