![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 17:18 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何用当前路径替换reg文件里指定?路径要双斜杠 |
| 可打印版本 2,503 / 24 |
| 第1楼 pzppzp | 发表于 2008-05-20 12:37 |
| 初级用户 发帖 52 积分 110 | |
|
如何用当前路径替换reg文件里指定?路径要双斜杠 如何用当前路径替换reg文件里指定内容?路径要双斜杠
比如一个reg文件内容如下: [HKEY_CLASSES_ROOT\ProtelPCBFile\Shell\Open] [HKEY_CLASSES_ROOT\ProtelPCBFile\Shell\Open\Command] @="C:\\Program Files\\Design Explorer 99 SE\\Client99SE.exe %1" [HKEY_CLASSES_ROOT\ProtelSchematicFile] [HKEY_CLASSES_ROOT\ProtelSchematicFile\DefaultIcon] @="C:\\Program Files\\Design Explorer 99 SE\\System\\Advsch.dll,0" [HKEY_CLASSES_ROOT\ProtelSchematicFile\Shell] 要把里面的"C:\\Program Files\\Design Explorer 99 SE\\"换成当前目录,路径要双斜杠. 求高人指导 |
|
| 第2楼 huahua0919 | 发表于 2008-05-20 13:26 |
| 银牌会员 发帖 780 积分 1,608 | |
|
a.reg
|
|
| 第3楼 HAT | 发表于 2008-05-20 13:32 |
| 版主 发帖 5,017 积分 9,023 | |
|
change.exe http://upload.cn-dos.net/img/427.zip |
|
| 第4楼 pzppzp | 发表于 2008-05-20 13:48 |
| 初级用户 发帖 52 积分 110 | |
|
我把CMD文件和a.reg文件放到同一个目录下
两种都没不能替换啊 |
|
| 第5楼 huahua0919 | 发表于 2008-05-20 13:54 |
| 银牌会员 发帖 780 积分 1,608 | |
|
加个pause就看到替换了 [ Last edited by huahua0919 on 2008-5-20 at 03:53 PM ] |
|
| 第6楼 HAT | 发表于 2008-05-20 14:48 |
| 版主 发帖 5,017 积分 9,023 | |
|
如果想用3楼的代码,请确保change.exe也放到同一个目录下。
|
|
| 第7楼 pzppzp | 发表于 2008-05-20 15:44 |
| 初级用户 发帖 52 积分 110 | |
|
可是要怎么才能替换后保存起来,或者另存为B.REG也行啊?
我试了上面的全部不能保存 |
|
| 第8楼 huahua0919 | 发表于 2008-05-20 15:53 |
| 银牌会员 发帖 780 积分 1,608 | |
|
改过了,保存不就是 重新定向吗
>> |
|
| 第9楼 pzppzp | 发表于 2008-05-20 16:01 |
| 初级用户 发帖 52 积分 110 | |
|
但是他会在每行的后面加一个空格
而且有的空行会删除,有的地方会加空行,感觉 有点乱 [HKEY_CLASSES_ROOT\.ddb] @="ProtelDesignFile" [HKEY_CLASSES_ROOT\.pcb] @="ProtelPCBFile" [HKEY_CLASSES_ROOT\.sch] @="ProtelSchematicFile" [HKEY_CLASSES_ROOT\ProtelDesignFile] [HKEY_CLASSES_ROOT\ProtelDesignFile\DefaultIcon] @="D:\\dfgdf aesfa\\System\\SmartDoc.ico" [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell] [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell\Open] [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell\Open\Command] @="\"D:\\dfgdf aesfa\\Client99SE.exe\" \"%1\"" 源文件在下面 [HKEY_CLASSES_ROOT\.ddb] @="ProtelDesignFile" [HKEY_CLASSES_ROOT\.pcb] @="ProtelPCBFile" [HKEY_CLASSES_ROOT\.sch] @="ProtelSchematicFile" [HKEY_CLASSES_ROOT\ProtelDesignFile] [HKEY_CLASSES_ROOT\ProtelDesignFile\DefaultIcon] @="C:\\Program Files\\Design Explorer 99 SE\\System\\SmartDoc.ico" [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell] [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell\Open] [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell\Open\Command] @="\"C:\\Program Files\\Design Explorer 99 SE\\Client99SE.exe\" \"%1\"" |
|
| 第10楼 bat-zw | 发表于 2008-05-20 16:10 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
用findstr /n就能避免这种混乱的出现。
|
|
| 第11楼 pzppzp | 发表于 2008-05-20 16:12 |
| 初级用户 发帖 52 积分 110 | |
|
具体要怎么弄啊,我把全部原文发来
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.ddb] @="ProtelDesignFile" [HKEY_CLASSES_ROOT\.pcb] @="ProtelPCBFile" [HKEY_CLASSES_ROOT\.sch] @="ProtelSchematicFile" [HKEY_CLASSES_ROOT\ProtelDesignFile] [HKEY_CLASSES_ROOT\ProtelDesignFile\DefaultIcon] @="C:\\Program Files\\Design Explorer 99 SE\\System\\SmartDoc.ico" [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell] [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell\Open] [HKEY_CLASSES_ROOT\ProtelDesignFile\Shell\Open\Command] @="\"C:\\Program Files\\Design Explorer 99 SE\\Client99SE.exe\" \"%1\"" [HKEY_CLASSES_ROOT\ProtelPCBFile] [HKEY_CLASSES_ROOT\ProtelPCBFile\DefaultIcon] @="C:\\Program Files\\Design Explorer 99 SE\\System\\AdvPCB.dll,0" [HKEY_CLASSES_ROOT\ProtelPCBFile\Shell] [HKEY_CLASSES_ROOT\ProtelPCBFile\Shell\Open] [HKEY_CLASSES_ROOT\ProtelPCBFile\Shell\Open\Command] @="C:\\Program Files\\Design Explorer 99 SE\\Client99SE.exe %1" [HKEY_CLASSES_ROOT\ProtelSchematicFile] [HKEY_CLASSES_ROOT\ProtelSchematicFile\DefaultIcon] @="C:\\Program Files\\Design Explorer 99 SE\\System\\Advsch.dll,0" [HKEY_CLASSES_ROOT\ProtelSchematicFile\Shell] [HKEY_CLASSES_ROOT\ProtelSchematicFile\Shell\Open] [HKEY_CLASSES_ROOT\ProtelSchematicFile\Shell\Open\Command] @="C:\\Program Files\\Design Explorer 99 SE\\Client99SE.exe %1" |
|
| 第12楼 bat-zw | 发表于 2008-05-20 18:21 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
忙,先留个地,我会回复的: 终于有时间回复了:
[ Last edited by zw19750516 on 2008-5-20 at 06:49 PM ] |
|
| 第13楼 不得不爱 | 发表于 2008-05-20 18:56 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
@echo off
setlocal enabledelayedexpansion set path0=%~dp0 set path0=%path0:\=\\% set path1=C:\\Program Files\\Design Explorer 99 SE\\ for /f "delims=: tokens=1,*" %%a in ('findstr/n /v "+" a.reg') do ( if %%b.==. (echo.>>b.txt) ELSE ( set x=%%b set y=!x:%path1%=%path0%! echo !y!>>b.txt ) ) pause del a.reg ren b.txt a.reg |
|
| 第14楼 metoo | 发表于 2008-05-20 19:19 |
| 初级用户 发帖 93 积分 195 | |
|
感觉文本替换这种需求比较大的可以去学perl。。。
|
|
| 第15楼 bat-zw | 发表于 2008-05-20 20:11 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
向四川的不得不爱超级版主致之亲切的问候,同时祝福所有四川的会员兄弟!
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |