批处理文件在一个目录中运行每个.REG文件

3
我有一个批处理文件,用于创建一个主文件夹并将文件和子文件夹移动到该文件夹中。我需要批处理文件运行主文件夹中的每个.REG文件。
我的主文件夹设置为变量(它不以结束斜杆结尾): %folder%
我正在尝试类似于这样的操作,但这只是我写批处理脚本的第二天,所以我不知道我的语法是否出错了。
for %%i in (%folder%\*.reg) do (regedit /s %%i)

我非常感激任何人提供的帮助。

非常感谢。

-Andrea


你试过了吗?它有效吗?如果无效,具体表现是什么? - Mat
是的,我尝试过了。文件和注册表文件都被移动到它们正确的位置,但是注册表文件从未运行,当我像直接调用它们一样调用它们时,我看不到注册表条目出现。 - Andrea
3个回答

3
您的文件夹可能包含空格,因此您需要在 regedit 部分引用 %%i。

欧瑞卡!!!弗拉基米尔,你是我的英雄。非常感谢你。就是这样。我感激大家的快速帮助。谢谢。- 安德里亚 - Andrea
很高兴能帮忙 :) 你可能应该将回复标记为答案以关闭问题。 - Vladimir Sinenko

0

我稍微修改了一下,现在它可以按照预期工作:

for %%i in ("%~dp0"*.reg) do (regedit /s "%%i")

0

我在Win2k8R2上尝试了for %i in (%folder%\*.reg) do (regedit /s %i)(删除了额外的%),并且它表现如预期。您使用的是哪个版本的Windows?您看到了什么错误消息或不良行为?


嗨Ribram,谢谢。我刚刚尝试了相同的方法,但对我没有起作用。我使用的是Vista 32位系统。这个批处理文件将在XP、Vista和Windows 7的版本上运行...不支持更早的操作系统。 - Andrea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接