2

我在 %userprofile%\alias.cmd 中设置了一个别名文件,其中包含基本的 DOSKEY cmd:

@echo off
DOSKEY ls=dir
DOSKEY clear=cls
DOSKEY pwd=echo %cd%

我在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 中安装 alias.cmd,如Windows 命令提示符中的别名中所述

并测试:

C:\Users\tim>cd workspace

C:\Users\tim\workspace>pwd
C:\Users\tim

C:\Users\tim\workspace>echo %cd%
C:\Users\tim\workspace

我想知道为什么 %cd% 返回脚本路径而不是当前目录 doskeypwd应该具有相同的结果echo %cd%

4

1 回答 1

3

这是因为该行:

DOSKEY pwd=echo %cd%

在批处理脚本中,%cd%将在您定义宏时进行评估。您将pwd-macro 设置为固定值。

尝试使用:

DOSKEY pwd=echo %%cd%%
于 2019-11-28T10:05:49.383 回答