标题: [文件操作] 批处理如何合并reg文件,每个文件去除第一行,修改为对应reg文件名? [打印本页]
作者: kswdiy 时间: 2011-12-6 11:55 标题: 批处理如何合并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的 不会写
望大大 指教。在线等待中。。。。。
作者: CrLf 时间: 2011-12-6 21:09
- findstr /vxrc:"REGEDIT4" /c:"Windows Registry Editor Version 5\.00" /c:"^$" *.reg>合并.txt
复制代码
或者- (for %%a in (*.reg) do for /f "eol=' skip=1 delims=" %%b in (%%a) do echo %%b)>合并.txt
复制代码
如果少的话,也可以直接指定 reg 名称- (for /f "eol=' skip=1 delims=" %%b in (1.reg 2.reg) do echo %%b)>合并.txt
复制代码
作者: kswdiy 时间: 2011-12-6 22:29
谢谢诶 大大 如果 我在问个问题
就是 reg文件里面的 有些行第一个字符 会用 ; 进行 注册表键值的 注释
例如:
;删除快捷图标箭头
如何在 合并过过程如何进行操作保留呢??
作者: slore 时间: 2011-12-7 12:56
findstr 直接 *.reg输出是带文件名,而且过滤空行,2个文件内容会连起来最后少个换行。。。
用for遍历reg文件然后
findstr /vrc:"REGEDIT4" /c:"Windows Registry Editor Version 5\.00" /c:"^$" %%i>>合并.txt
echo.>>合并.txt
x选项是多余的要的是v。
作者: slore 时间: 2011-12-7 12:59
最好这样
findstr /vrc:"^REGEDIT4" /c:"^Windows Registry Editor Version 5\.00" /c:"^$" 1.reg>合并.txt
免得类似
"reg_version"="REGEDIT4.0"
这种也过滤掉了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |