找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 2771|回复: 25

[文本处理] 【已解决】求合并.reg文件的批处理,谢谢

[复制链接]
发表于 2025-12-6 11:06:26 | 显示全部楼层 |阅读模式
本帖最后由 yyz219 于 2025-12-7 17:53 编辑

已解决
方法1(好)
::要求.reg中没有:"---------- "
@echo off
del !合并的.reg
(echo,Windows registry editor version 5.00
find /i /v "Windows registry editor version 5.00" *.reg|find /v "---------- ")>!合并的.reg
exit/b

=================================
方法2(有一些情况会误删)
@echo off
>"!合并的.reg" echo Windows registry editor version 5.00
type "*.reg" | findstr /ivc:"Windows registry editor version 5.00" >> "!合并的.reg"

=================================
方法3(有一些情况会误删)
@echo off
::【删除原来的:!合并的.reg】
del !合并的.reg
::【纯粹的合成.reg】
type "*.reg" >> temp.lings
::========================
::【删除.reg里面的 Windows registry editor version 5.00】
(echo,Windows registry editor version 5.00
for /f "delims=" %%F in ('dir /b/a-d temp.lings') do findstr /ivc:"Windows registry editor version 5.00" "%%F")>"!合并的.reg"
del temp.lings
exit/b


======================================
原来的问题:
有10多个注册表文件(会变动的),需要合并为一个。求批处理

谢谢
发表于 2025-12-6 12:24:58 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-12-6 12:26 编辑

回复 1# yyz219

以下代码将当前目录中的全部 *.reg 文件合并为一个 all.reg 文件...

  1. @echo off
  2. (echo,Windows registry editor version 5.00
  3. for /f "tokens=1* delims=:" %%a in ('findstr /i /v "Windows registry editor version 5.00" *.reg') do echo,%%b
  4. )>all.reg
  5. pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2025-12-6 12:27:32 | 显示全部楼层
回复 2# aloha20200628

我试一试先 谢谢
 楼主| 发表于 2025-12-6 12:33:47 | 显示全部楼层
回复 2# aloha20200628

出现下面的问题,能不能处理一下?谢谢
========================
[HKEY_USERS\.DEFAULT\Software\Microsoft\CTF\TIP\{E7EA138E-69F8-11D7-A6EA-00065B844310}\LanguageProfile\0x00000804\{E7EA138F-69F8-11D7-A6EA-00065B844311}]
"Enable"=dword:00000001
按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:按类型排列文件.reg:
 楼主| 发表于 2025-12-6 12:36:19 | 显示全部楼层
;【不同分区拖动变移动(默认:是复制)】
[HKEY_CLASSES_ROOT\AllFilesystemObjects]
"DefaultDropEffect"=dword:00000002
; 0 或 不存在该项  = 默认行为(同盘移动,异盘复制)
; 1 = 始终复制
; 2 = 始终移动
; 4 = 始终创建快捷方式标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:标题栏黃金色.reg:安装Ctrl+K搜狗输入法热键.reg:; 安装Ctrl+K搜狗输入法热键
发表于 2025-12-6 14:16:46 | 显示全部楼层
回复 4# yyz219

二楼代码的算法要点非常简单,就是过滤全部 *.reg 文件中的标准头。
至于楼主要求处理的新问题可能需要参考具体 *.reg 文件内容方可明白...
 楼主| 发表于 2025-12-6 17:51:48 | 显示全部楼层
回复 6# aloha20200628

现在出现的问题是:.reg 的文件名跑到里面去了啊
 楼主| 发表于 2025-12-6 18:37:40 | 显示全部楼层
:标题栏黃金色.reg:安装Ctrl+K搜狗输入法热键.reg------这些是文件名字
发表于 2025-12-6 18:39:09 | 显示全部楼层
回复 6# aloha20200628

我这边实测不能复现你的问题,能看一下你那些产生问题的 *.reg 源文件吗?
 楼主| 发表于 2025-12-6 18:43:10 | 显示全部楼层
Ctrl+z——能撤销 .reg:
Windows Registry Editor Version 5.00

; Ctrl+z —— 能撤销,Ctrl+y —— 能重做
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D001F200-EF97-11CE-9BC9-00AA00608E01}]
@="IOleUndoManager"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D001F200-EF97-11CE-9BC9-00AA00608E01}\NumMethods]
@="15"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D001F200-EF97-11CE-9BC9-00AA00608E01}\ProxyStubClsid32]
@="{B196B286-BAB4-101A-B69C-00AA00341D07}"
==================================
标题栏黃金色.reg:
Windows Registry Editor Version 5.00

;黃金色
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DWM]
"AccentColor"=dword:ff00b9ff
"ColorizationAfterglow"=dword:c4ffb900
"ColorizationColor"=dword:c4ffb900
==========================
任务栏半透明.reg:
Windows Registry Editor Version 5.00

;【注】"TaskbarColor"——dword:00000000(黑色),【"TaskbarAlpha"】——dword:0000007f半透明,dword:00000000全透明

[HKEY_CURRENT_USER\Software\StartIsBack]
;任务栏颜色:黑色半透明
"TaskbarColor"=dword:00000000
"TaskbarAlpha"=dword:0000007f
 楼主| 发表于 2025-12-6 18:46:06 | 显示全部楼层
回复 9# aloha20200628


    弄了一些上来,麻烦看看。谢谢
发表于 2025-12-6 19:04:43 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-12-6 19:53 编辑

回复 11# yyz219

以下代码更新算法以改进对源文件内容格式的兼容性,再试试吧...

  1. @echo off
  2. (echo,Windows registry editor version 5.00
  3. for /f "delims=" %%F in ('dir /b/a-d *.reg') do for /f "tokens=1* delims=:" %%a in ('findstr /inv "Windows registry editor version 5.00" "%%F" ') do echo,%%b
  4. )>all.reg
  5. pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2025-12-6 20:22:04 | 显示全部楼层
回复 12# aloha20200628


    好的 我试一试 谢谢
 楼主| 发表于 2025-12-6 20:48:04 | 显示全部楼层
本帖最后由 yyz219 于 2025-12-6 21:01 编辑

Windows Registry Editor Version 5.00

; 黃金色
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DWM]
"AccentColor"=dword:ff00b9ff
"ColorizationAfterglow"=dword:c4ffb900
"ColorizationColor"=dword:c4ffb900
=================================
变成了:
Windows registry editor version 5.00
2:3:4:5:6:7:
 楼主| 发表于 2025-12-6 20:56:08 | 显示全部楼层
@echo off
(echo,Windows registry editor version 5.00
for /f "delims=" %%F in ('dir /b/a-d *.reg') do for /f "tokens=1* delims=:" %%a in ('findstr /inv "Windows registry editor version 5.00" "%%F" ') do echo,%%b
)>>all.txt
ren  all.txt  all.reg
exit/b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:05 , Processed in 0.025184 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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