找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 885|回复: 37

[求助] 【求助】批量导入注册表,哪个.bat更好?谢谢

[复制链接]
发表于 2026-2-26 07:17:46 | 显示全部楼层 |阅读模式
【求助】批量导入注册表,哪个.bat更好?谢谢
批处理1:
::【批量导入本目录的reg】
cd /d "%~dp0"
for /f "delims=" %%i in ('dir /b /a-d *.reg') do (
    echo reg import "%%i"
    reg import "%%i")
===================================================
批处理2:
::【批量导入本目录的reg】
cd /d "%~dp0"
::【下两行遍历本目录所有 *.reg,对每个文件输出 "Importing 文件名"。第3行————静默导入注册表】
for %%F in (*.reg) do (
    echo Importing %%F
    regedit /s "%%F")

发表于 2026-2-26 08:01:57 来自手机 | 显示全部楼层
本帖最后由 窄口牛 于 2026-2-26 08:03 编辑

那边没有答案吗?个人习惯是都转成bat语句,用命令直接修改注册表。

点评

直接命令改注册表是最好的,但是有时候实在没办法,比如idm的界面设置,[HKEY_CURRENT_USER\SOFTWARE\DownloadManager\ListSettings]下面的这些REG_NONE,怎么弄都不行只能导入reg。  详情 回复 发表于 2026-2-26 08:19
那边没有,没有人气  详情 回复 发表于 2026-2-26 08:04

评分

参与人数 1 无忧币 +5 收起 理由
yyz2191958 + 5 谢谢

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2026-2-26 08:04:51 | 显示全部楼层
窄口牛 发表于 2026-2-26 08:01
那边没有答案吗?个人习惯是都转成bat语句,用命令直接修改注册表。

那边没有,没有人气
回复

使用道具 举报

发表于 2026-2-26 08:19:26 | 显示全部楼层
窄口牛 发表于 2026-2-26 08:01
那边没有答案吗?个人习惯是都转成bat语句,用命令直接修改注册表。

直接命令改注册表是最好的,但是有时候实在没办法,比如idm的界面设置,[HKEY_CURRENT_USER\SOFTWARE\DownloadManager\ListSettings]下面的这些REG_NONE,怎么弄都不行只能导入reg。
回复

使用道具 举报

发表于 2026-2-26 08:21:32 | 显示全部楼层
根据你提供的两个bat通过其它渠道查了一下,第一个好第二个显示不完整。

点评

第一个是批处理之家求助得到的 第2个是文心写的  详情 回复 发表于 2026-2-26 08:26
不完整是什么意思?谢谢  详情 回复 发表于 2026-2-26 08:24

评分

参与人数 1 无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2026-2-26 08:24:17 | 显示全部楼层
it323 发表于 2026-2-26 08:21
根据你提供的两个bat通过其它渠道查了一下,第一个好第二个显示不完整。

不完整是什么意思?谢谢

点评

就是有缺陷不完整  详情 回复 发表于 2026-2-26 08:28
回复

使用道具 举报

 楼主| 发表于 2026-2-26 08:26:22 | 显示全部楼层
it323 发表于 2026-2-26 08:21
根据你提供的两个bat通过其它渠道查了一下,第一个好第二个显示不完整。

第一个是批处理之家求助得到的
第2个是文心写的
回复

使用道具 举报

发表于 2026-2-26 08:26:24 | 显示全部楼层
命令行外部命令reg,运行不会闪烁。
不是专用的命令行工具的regedit,循环开启可能鼠标指针会闪烁。
回复

使用道具 举报

发表于 2026-2-26 08:28:18 | 显示全部楼层
本帖最后由 it323 于 2026-2-26 08:35 编辑
yyz2191958 发表于 2026-2-26 08:24
不完整是什么意思?谢谢

就是有缺陷不完整
注释不完整‌:第二个版本开头有 ::【下两行遍% 这样的注释,但没有继续写出完整的循环逻辑。


缺少核心逻辑‌:完整的批量导入脚本需要使用 for /f 循环来遍历文件,并执行 reg import 命令,而第二个版本缺少这些关键代码。


代码片段不全‌:从 ::【下两行遍% 开始,应该有类似 for /f "delims=" %%i in ('dir /b /a-d *.reg') do ( 这样的循环结构,但实际代码并未完整呈现。


相比之下,第一个版本提供了完整的脚本逻辑

点评

谢谢  发表于 2026-2-26 08:53

评分

参与人数 1 无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 2026-2-26 08:40:03 | 显示全部楼层
适合自己的才是更好的。“dir /b /a-d”作用是避免某些文件夹的名称是.reg,“reg import”是避免某些带权限的注册表键。

点评

谢谢  发表于 2026-2-26 08:54

评分

参与人数 1 无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 2026-2-26 08:40:18 | 显示全部楼层
以前找到的一个批处理

for %%a in (*.reg) do regedit.exe /s "%%a"

RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

点评

谢谢分享,非常感謝您!  详情 回复 发表于 2026-2-27 08:47
回复

使用道具 举报

发表于 2026-2-26 08:42:36 | 显示全部楼层
可以咨询deepseek或者豆包看看
回复

使用道具 举报

发表于 2026-2-26 08:46:29 | 显示全部楼层
按reg文件来选择用reg import还是regedit /s
回复

使用道具 举报

发表于 2026-2-26 08:51:01 | 显示全部楼层
少量几个文件无所谓,多点的建议用reg,它的执行效率应该比regedit好,而且它有错误码返回码。

点评

谢谢  发表于 2026-2-26 08:55

评分

参与人数 1 无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 2026-2-26 09:25:58 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2026-2-26 09:26:48 | 显示全部楼层
学习
回复

使用道具 举报

发表于 2026-2-26 09:29:56 | 显示全部楼层
学习
回复

使用道具 举报

发表于 2026-2-26 09:38:12 | 显示全部楼层
666

点评

你的回复可更好  发表于 2026-2-26 10:08
回复

使用道具 举报

发表于 2026-2-26 09:57:06 | 显示全部楼层
推荐批处理2,可加上一些优化增强其实用性。
1.regedit /s 是传统的注册表导入方式,兼容所有Windows版本
2.regedit /s 完全支持所有注册表数据类型和操作
3.regedit /s 是系统原生的注册表处理工具

点评

谢谢  详情 回复 发表于 2026-2-26 10:07

评分

参与人数 1 无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 2026-2-26 09:59:57 | 显示全部楼层
学习
回复

使用道具 举报

 楼主| 发表于 2026-2-26 10:07:26 | 显示全部楼层
2012yanlan8321 发表于 2026-2-26 09:57
推荐批处理2,可加上一些优化增强其实用性。
1.regedit /s 是传统的注册表导入方式,兼容所有Windows版本
...

谢谢
回复

使用道具 举报

发表于 2026-2-26 10:16:07 | 显示全部楼层
第一个
回复

使用道具 举报

发表于 2026-2-26 10:21:37 | 显示全部楼层
本帖最后由 hilsonma 于 2026-2-26 10:30 编辑

::dir /b /a-d 输出会包含隐藏的文件
::因为dir结果是文本输出,所以for 后面要加 /f 来解析
::为了提防文件名含空格被错误解析,所以 for /f 后面要加 "delims="
for /f "delims=" %%I in ('dir /b /a-d *.reg') do (...)

::下面这句则直指文件列表,但不包含隐藏的文件
for %%I in (*.reg) do (...)

::reg import 与 regedit /s 的对比 参考8楼与14楼

因为reg文件一般不含隐藏属性,所以我会选用
for %%I in (*.reg) do (reg import %%I)

如果reg文件很多或很庞大,在reg import 之前加个提示 echo 导入%%I ... 会好些

不要不信AI也不要迷信AI,综合考虑后,给别人用的就选最普适的,给自己用的就选最适合自己的。而且是融合选择,不是非一即二。
回复

使用道具 举报

发表于 2026-2-26 10:28:26 | 显示全部楼层
若要静默 + 支持 Unicode,可用以下批处理:


cd /d "%~dp0"
for /f "delims=" %%i in ('dir /b /a-d *.reg') do (
    reg import "%%i" >nul 2>&1
)

这样就能静默导入并支持Unicode编码的.reg文件

点评

谢谢  发表于 2026-2-26 10:40

评分

参与人数 1 无忧币 +10 收起 理由
yyz2191958 + 10

查看全部评分

回复

使用道具 举报

发表于 2026-2-26 13:09:48 | 显示全部楼层
我也没有  等大神分享~~~
回复

使用道具 举报

发表于 2026-2-26 17:55:42 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2026-2-26 20:42:51 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2026-2-27 08:47:41 | 显示全部楼层
fulibo 发表于 2026-2-26 08:40
以前找到的一个批处理

for %%a in (*.reg) do regedit.exe /s "%%a"

谢谢分享,非常感謝您!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持| 无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-3-27 07:01

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表