循环/ D标志的批处理文件未出现在命令行

时间:2015-05-08 18:30:00

标签: windows batch-file

我有一个小批量文件,我想用它来将文件从一个位置复制到许多可能具有不同名称的位置。

for /D %%f in ("%%localappdata%%\Microsoft\Opc*") do (
    for /D %%x in ("%%f\*") do (copy /y user.config %%x\)
 )

我能够在命令行中运行正常,但是如果我尝试运行我的批处理脚本,这就是命令行上显示的所有内容:

for / %f in ("%localappdata%\Microsoft\Opc*") do (
   for / %x in ("%f\*") do (copy /y user.config %x\ ) 
)

看起来,无论出于何种原因,/ D标志都会变为/

我是批处理脚本的新手,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

在批处理脚本中:与%和[{1}} %%f参数中的%%x百分号相加(正确)相反,请勿在{{1​​}}等环境变量名称中加倍% {1}}等...

%localappdata%

然而,令人惊叹的 for /D %%f in ("%localappdata%\Microsoft\Opc*") do ( for /D %%x in ("%%f\*") do (copy /y user.config %%x\) ) 回显而不是/不应影响/D命令功能(仍在搜索解释)。