【问题标题】:echo %cd% alias does not respond as it shouldecho %cd% 别名没有做出应有的反应
【发布时间】:2013-08-29 21:48:19
【问题描述】:

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

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

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

【问题讨论】:

    标签: cmd alias


    【解决方案1】:

    这是因为%cd%是在宏定义的时候展开的,而不是在执行的时候。

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

    @DOSKEY pwd=echo %%cd%%
    

    如果从命令行定义,扩展规则是不同的,所以你需要这样的东西:

    DOSKEY pwd=echo %^cd%
    

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

    @DOSKEY pwd=(cd)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2018-04-29
      • 2021-08-14
      • 1970-01-01
      • 2021-11-17
      • 2018-12-23
      相关资源
      最近更新 更多