REG在FORFILES命令中添加空格

时间:2015-01-22 16:39:27

标签: windows batch-file

我正在尝试为我们使用的众多EXE文件自动设置应用程序兼容性标志。我可以得到forfiles命令来提取所有EXE完整路径没有问题。问题是将该信息传递给带有空格的REG ADD命令。我在这里错过了什么?我尝试了几套双引号和单引号,但没有什么工作正常。该命令的正确语法是什么?如果可以如下所示完成,那就太棒了。如果必须以不同的方式完成,那也可以。

非常感谢任何帮助。

SET Key="HKLM\SOFTWARE\Microsoft\Window NT\CurrentVersion\AppCompatFlags\Layers"
SET Command="'REG ADD' "%KEY%" /v @PATH /t "REG_SZ" /d "RUNASADMIN""

forfiles /p D:\<DIR> /S /m *.exe -c "cmd %Command%"

1 个答案:

答案 0 :(得分:2)

尝试

SET "Key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
for /r "d:\<dir>" %%a in ("*.exe") do ( 
    reg add "%Key%" /t REG_SZ /v "%%~fa" /d RUNASADMIN
)