[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何合并reg文件,每个文件去除第一行,修改为对应reg文件名?

看了相关 reg文件 先关资料  发现如下reg文件第一行 如下 :
(1)Windows 95/98/ME/NT 4.0第一行必须是“REGEDIT4”。Windows 2000/XP/Vista是“Windows Registry Editor Version 5.00"。
(2)第一行后必须空一行。条与条之间最好也空一行。每行前不能留空格

但是他们第一行 2种书写都是 可行 呵呵 不多说了....

我现在求助大家就是 将某个目录内全部reg文件  都合并到一个文件里面

合并到位一个文件 的要求是:
1:每个注册表 合并到一个文件的里面的他们的第一行 “REGEDIT4”或是“Windows Registry Editor Version 5.00"
能否改为 对应文件名 他们前面 需要用 ";"  英文版封号不多说 这样  
例如佑哥reg文件叫 去除快捷方式小箭头.reg
具体合并到一个文件里面的格式为:   ;去除快捷方式小箭头

2:在如上处理后 在合并后的 一个reg文件 前面 添加 :
Windows Registry Editor Version 5.00
空格一行


这样一个完整的 带有注释的 合并后reg文件就 制作成功了

望大大 赐教。。。。
我只要会合并文件  就是 要求1的 不会写

望大大 指教。在线等待中。。。。。

  1. findstr /vxrc:"REGEDIT4" /c:"Windows Registry Editor Version 5\.00" /c:"^$" *.reg>合并.txt
复制代码
或者
  1. (for %%a in (*.reg) do for /f "eol=' skip=1 delims=" %%b in (%%a) do echo %%b)>合并.txt
复制代码
如果少的话,也可以直接指定 reg 名称
  1. (for /f "eol=' skip=1 delims=" %%b in (1.reg 2.reg) do echo %%b)>合并.txt
复制代码

TOP

谢谢诶 大大  如果 我在问个问题

就是 reg文件里面的  有些行第一个字符 会用 ; 进行 注册表键值的 注释
例如:
;删除快捷图标箭头

如何在 合并过过程如何进行操作保留呢??

TOP

findstr  直接 *.reg输出是带文件名,而且过滤空行,2个文件内容会连起来最后少个换行。。。

用for遍历reg文件然后
findstr /vrc:"REGEDIT4" /c:"Windows Registry Editor Version 5\.00" /c:"^$" %%i>>合并.txt
echo.>>合并.txt

x选项是多余的要的是v。

TOP

最好这样

findstr /vrc:"^REGEDIT4" /c:"^Windows Registry Editor Version 5\.00" /c:"^$" 1.reg>合并.txt

免得类似
"reg_version"="REGEDIT4.0"
这种也过滤掉了

TOP

返回列表