Windows命令行可以支持Linux“cd -”吗?

Windows命令行可以支持Linux“cd -”吗?

在Linux中我们可以使用cd -进入上一个目录,例如:

/home/user: cd /a

/a: cd -

/home/user:

表示-最新的上一个目录。

答案1

您可以使用pushdpopd

c:\> pushd c:\windows
c:\Windows> popd
c:\>

答案2

Windows 命令行本身,没有......

但是,如果需要/感兴趣,你可能想尝试类似赛格威或者系统管理,这将允许您在 Windows 上使用 Linux-shell。

不确定这是否真的是您想要的,但它可能会解决您的一些问题。

(另一个解决方案是...使用 Linux ^^)

答案3

也许你会对此感兴趣:https://gist.github.com/programus/2d2738b2a746140186f7738b678bdcec

当然,pushd/popd 是一对很棒的命令,但是一旦弹出前一个命令,它就无法切换回来。

所以我自己制作了一个批处理,它可以维护一个目录历史记录以便跳转回来,因为我必须经常在许多目录之间跳转。

以下是帮助:

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

和例子

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>

答案4

对于那些使用康德(顺便说一句,它真的是 cmd 的酷替代品。)

我使用类似 bash 的界面的别名,如下所示:

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

您可以在%CMDER_ROOT%\config\user-aliases.cmd

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

相关内容