回复 2# xxpinqz
谢谢回复,其实我也写批处理好多年了,对延迟有一定的了解,这里只是个例子,原来的代码很多,主要目的是用批处理生成批处理。
其实这里可以用别的方法(如:中间字符)实现,就是麻烦一些,放在这里主要是希望有高人给解答一下为什么会有这种行为。
就是在for语句中为什么- call call echo set "Value=%%%%Value:%%%Namespace%_DATA_PATH%%=#%Namespace%_DATA_PATH#%%%%"
复制代码 可以执行替换,而- call echo set "!Value:%%%Namespace%_DATA_PATH%%=%%%%%Namespace%_DATA_PATH%%%%!"
复制代码 不可以,可以用下面命令测试变量在执行替换的时候已经展开了,但是就没有做替换的行为:- call echo set "^!Value:%%%Namespace%_DATA_PATH%%=%%%%%Namespace%_DATA_PATH%%%%^!"
复制代码
|