如何在Windows命令提示符下返回到上一个目录?

问题描述 投票:0回答:7

我经常想在cmd.exe中返回到刚才所在的目录,但是windows没有Unix的“cd -”功能。另外输入 cd ../../.. 也需要输入很多内容。

有没有更快的方法可以向上几个目录级别?

最好之后再回来?

command-line cmd doskey
7个回答
18
投票

步骤:

  1. pushd .
    (在堆栈上保留旧文件夹路径)
  2. cd ..\..
    (移至您喜欢的文件夹)
  3. popd
    (从堆栈中弹出它。意思是,返回到旧文件夹)

10
投票

这对我有用 powershell

cd ..

9
投票

在 Windows CMD 上,我习惯使用

pushd
popd
。在更改目录之前,我使用
pushd .
将当前目录放入堆栈中,然后使用 cd 移动到其他地方。每次指定的目录进入堆栈时,您可以根据需要多次运行 Pushd。然后您可以 CD 到您想要的任何一个或多个目录。运行 CD 多少次并不重要。当准备好 return 时,我使用
popd
返回到堆栈顶部的任何目录。这适用于简单的用例并且很方便,只要您记得在使用 CD 之前将目录压入堆栈即可。


5
投票

使用 /k 开关和启动批处理文件运行 cmd.exe,该文件调用 doskey 以使用增强版本的 cd 命令。

这是一个简单的批处理文件,用于将目录更改为传入的第一个参数 (%1),并通过调用 Pushd %1 来记住初始目录。

md_autoruns.cmd:

@echo off
cd %1
pushd %1
title aliases active
cls
%SystemRoot%\System32\doskey.exe /macrofile=c:\tools\aliases

我们还需要一个小的帮助批处理文件来记住目录更改并忽略对同一目录的更改:

mycd.bat:

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

还有一个小别名文件,显示如何使其全部正常工作:

别名:

cd=C:\tools\mycd.bat $*
cd\=c:\tools\mycd.bat ..
A:=c:\tools\mycd.bat A:
B:=c:\tools\mycd.bat B:
C:=c:\tools\mycd.bat C:
...
Z:=c:\tools\mycd.bat Z:
.=cd
..=c:\tools\mycd.bat ..
...=c:\tools\mycd.bat ..\..
....=c:\tools\mycd.bat ..\..\..
.....=c:\tools\mycd.bat ..\..\..\..
......=c:\tools\mycd.bat ..\..\..\..\..
.......=c:\tools\mycd.bat ..\..\..\..\..\..
........=c:\tools\mycd.bat ..\..\..\..\..\..\..
.........=c:\tools\mycd.bat ..\..\..\..\..\..\..\..
tools=c:\tools\mycd.bat C:\tools
wk=c:\tools\mycd.bat %WORKSPACE%

现在您可以通过输入

..

进入目录级别

为您想要升级的每个级别添加另一个

.

当您想返回时,请输入

cd -
,您就会回到开始的地方。

用于跳转到目录的别名,如

wk
tools
(如上所示),可快速将您从一个位置带到另一个位置,易于创建,如果您经常使用命令行,这确实很有帮助。


0
投票

它在 git bash 中适用于我,但可能不适用于 cmd 等其他终端


-2
投票

您可以使用命令:

cd ..\       -> To go up one level
cd ..\..\    -> To go up two levels

注意

cd

后面的空格

-3
投票

cd ..
在ubuntu中为我工作。

检查得票第二多的答案。

© www.soinside.com 2019 - 2024. All rights reserved.