echo%cd%别名没有响应

时间:2013-08-29 13:21:35

标签: cmd alias

我为echo %cd%@DOSKEY pwd=echo %cd%)创建了名为 pwd 的别名。我已将其保存在bat文件中,并将其配置为使用命令处理器自动运行。

现在每当我在命令处理器中运行命令pwd时,无论我当前在哪条路径,它都会返回C:\windows\system32。而当我运行echo %cd%时,它返回正确的道路我在。

我该如何解决这个问题?是因为我传递给echo的参数?此参数应根据我进入的路径进行更新。当命令提示符加载别名时,它似乎只更新一次。

1 个答案:

答案 0 :(得分:3)

这是因为%cd%在宏的定义期间被扩展,而不是在它被执行时扩展。

从批处理文件中,您应该使用:

@DOSKEY pwd=echo %%cd%%

如果从命令行定义,扩展规则是不同的,那么您需要以下内容:

DOSKEY pwd=echo %^cd%

但是有一种更简单的方法适用于所有情况。不带参数的CD命令只列出当前目录。只需将命令括在括号中即可防止传递参数。

@DOSKEY pwd=(cd)