谁为我的批次定义了%cd%?

时间:2011-03-18 09:00:43

标签: windows scripting batch-file

以下批处理脚本打印出我当前的工作目录。

echo %cd%

但我没有定义 cd 变量。那么这个人呢?还有其他类似的东西吗?

我还检查了环境变量,没有名称为 cd 。这是内置在 cmd.exe

感谢。

3 个答案:

答案 0 :(得分:5)

请参阅HELP SET ...

  

如果启用了命令扩展,   然后有几个动态   可以的环境变量   扩大,但没有出现   显示的变量列表   组。这些变量值是   每次动态计算   变量的值被扩展。如果   用户明确定义变量   有了这些名字之一,那就是   定义将覆盖动态   一个描述如下:

     

%CD% - 扩展到当前   目录字符串。

     

%DATE% - 使用扩展到当前日期   格式与DATE命令相同。

     

%TIME% - 使用扩展到当前时间   格式与TIME命令相同。

     

%RANDOM% - 扩展为随机小数   数字介于0和32767之间。

     

%ERRORLEVEL% - 扩展到当前   ERRORLEVEL值

     

%CMDEXTVERSION% - 扩展到   当前命令处理器扩展       版本号。

     

%CMDCMDLINE% - 扩展为原始版本   调用的命令行       命令处理器。

答案 1 :(得分:2)

运行SET /?,最后你会找到答案以及其他类似的变种。

我相信这个值是由命令shell存储的。

答案 2 :(得分:1)

It's a built-in behavior of the batch processor,与ERRORLEVEL具有相同的基本行为。