it-swarm.com.de

Navigieren Sie in der Windows-Eingabeaufforderung zum vorherigen Verzeichnis

Gibt es einen Befehl/ein Tool zum Navigieren im vorherigen Verzeichnis in der Windows-Eingabeaufforderung?

In der Regel unter Linux verwenden

cd -

für die vorherige Verzeichnisnavigation.

36
ukanth

Speichern Sie das Folgende, um z. mycd.bat irgendwo in deinem Pfad:

@echo off
if '%*'=='' cd & exit /b
if '%*'=='-' (
    cd /d %OLDPWD%
    set OLDPWD=%cd%
) else (
    cd /d %*
    if not errorlevel 1 set OLDPWD=%cd%
)

Denken Sie dann immer daran, mycd anstelle von cd zu verwenden, um Verzeichnisse und Laufwerke zu ändern.

Verwenden Sie alternativ ein doskey-Makro:

C:\>doskey cd=mycd $*

Die einzige Einschränkung besteht darin, dass Sie, wenn Sie das Leerzeichen zwischen cd und .. oder \ weglassen, die eingebaute Version von cd und nicht das Makro doskey erhalten ... und trotzdem nicht daran denken müssen, C:, D: usw. zum Ändern des Laufwerks zu verwenden.

23
Hugh Allen

Sie können pushd und popd verwenden:

C:\WINDOWS> pushd\
 C: \> popd 
 C:\WINDOWS>
34
John T

wenn Sie die Stapeldatei ausführen, können Sie sie verwenden

  cd /D  %~dp0

Dadurch wird zum ursprünglichen Pfad zurückgesprungen, von dem aus die Batchdatei ausgeführt wurde

4
ggonsalv

Wenn Sie das genaue Verhalten von bash möchten, warum nicht bash verwenden? Ich habe Cygwin installiert und es ist sehr schön. Sie müssen sich nicht an die UNIX-Tools halten, sondern rufen alle ausführbaren Windows-Dateien auf. Für cmd.exe builtins können Sie einen Alias ​​erstellen:

[email protected] ~/testdir                             
$ alias cm='cmd /c'                               

[email protected] ~/testdir                             
$ cm dir                                          
 Volume in drive C has no label.                  
 Volume Serial Number is AC2A-8378                

 Directory of C:\cygwin\home\hugh\testdir         

18/05/2010  02:02 PM    <DIR>          .          
18/05/2010  02:02 PM    <DIR>          ..         
               0 File(s)              0 bytes     
               2 Dir(s)   1,365,155,840 bytes free

[email protected] ~/testdir                             
$ 
4
Hugh Allen

Es gibt einen Freeware-cmd-Klon mit zusätzlichen Funktionen, einschließlich cd - mit dem Namen Take Command Console LE .

alt text

3
Hugh Allen

Abhängig von Ihrem Ziel können Sie einfach eine neue cmd-Sitzung starten, indem Sie "cmd" ausführen, das Verzeichnis verschieben und alles tun, was Sie möchten. Wenn Sie dann "exit" ausführen, verlassen Sie die Sitzung wieder in dem Verzeichnis, in dem Sie sich befanden Sie haben die neue Sitzung gestartet.

1
user210211

Die akzeptierte Antwort ist sehr gut für die Anforderung. Dabei muss ich oft zwischen vielen neueren Verzeichnissen wechseln, anstatt nur zwischen zwei (aktuellen und vorherigen).

Deshalb habe ich kürzlich eine Serie erstellt, um meine täglichen Jobs zu vereinfachen. https://Gist.github.com/programus/2d2738b2a746140186f7738b678bdcec

1
Programus

Was ich tue ist

rem capture the path of the initial dir
set RET_DIR=%CD%
rem do stuff...
rem and then return to the initial dir
cd %RET_DIR%
0
amphibient