相关疑难解决方法(0)

为什么我不能在Windows 7上访问名为__CD__的变量?

注意 - 此问题基于在Windows 7上观察到的行为.我认为该行为适用于从Vista开始的所有其他版本.基于MC ND的答案和Foxidrive的评论,它不适用于XP.

我可以使用伪动态变量%CD%来获取当前目录,而不是尾随\.如果我定义一个名为CD using的真实变量set "CD=someValue",则%CD%返回我指定的值,而不是当前目录.

一个鲜为人知的动态变量是%__CD__%相同的%CD%,除了它包括尾部\.但是,如果我这样做set "__CD__=someValue",我无法访问我指定的值!我可以set __CD__看到我的变量存在我的指定值,但%__CD__%总是返回当前目录!

有没有人知道这个%__CD__%机制是如何工作的(为什么它与任何其他动态变量不同)?

有人能想出一种方法来__CD__使用标准批处理命令(不解析输出set __CD__)来访问我的变量吗?

这更像是一个学术问题,而不是一个实际问题.没有人应该定义名称与动态变量匹配的变量.


我不希望解析结果的例程的原因set __CD__是因为值可以在其中包含换行符.有人可以定义两个变量,__CD__或者__CD__2,或者他们可以定义__CD__一个包含换行后跟的值__CD__2=....要区分这两种情况是不可能的.(正如我所说,这是一个学术问题,而不是一个实际问题!)

batch-file environment-variables windows-7

14
推荐指数
3
解决办法
2368
查看次数