![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-29 07:07 |
共 47,816 主题排行 / 349,916 发帖 / 今日 2 篇 / 48,265 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结帖-有新问题] 关于自动批量替换注册表内路径的问题 |
| 可打印版本 2,850 / 12 |
| 第1楼 windzb | 发表于 2006-10-29 07:26 |
| 初级用户 发帖 14 积分 32 | |
|
[已结帖-有新问题] 关于自动批量替换注册表内路径的问题 得到 lxmxn 大哥的提醒,单独开个帖。
我的问题是,想把联众游戏绿化,直接使用批处理运行取得当前游戏目录路径,并替换同目录下的game.reg里的游戏路径。 game.reg已经提取出来,游戏路径为 l:\\游戏 %CD% 取得的路径是单斜线的, l:\游戏 直接替换可能不行。有什么好的方法吗? [ Last edited by windzb on 2006-10-30 at 05:24 PM ] |
|
| 第2楼 lxmxn | 发表于 2006-10-29 07:33 |
| 版主 发帖 4,938 积分 11,386 | |
|
你需要把"game.reg"文件的内容也帖上来,这样才好根据里面文本的内容来对里面的字串进行提取,进而用批处理来替换需要替换的字串。 |
|
| 第3楼 windzb | 发表于 2006-10-29 07:44 |
| 初级用户 发帖 14 积分 32 | |
|
全部内容很长的 总共154K 主要是要替换 l:\\游戏 这个路径
下面截取一段吧 =========== 我是分割线 =========== "Path"="l:\\游戏\\Game\\share" "OFPath"="l:\\游戏\\Game\\share\\OurFriend\\ourfriend.exe" "RegisterPort"=dword:000007d0 "FirstRun"=dword:00000001 "Version"="2.6.0.15" "registerurl"="http://register.ourgame.com/regist/index.html" "RoomDat"=dword:00020001 "NewRegisterServer"="play2.ourgame.com(联众主站)" "MainRegisterSvr1"="play.ourgame.com(联众主站)" "MainRegisterSvr2"="play2.ourgame.com(联众主站)" "MainRegister80Svr1"="proxy.ourgame.com(联众主站)" "MainRegister80Svr2"="proxy2.ourgame.com(联众主站)" "NewRegister80Server"="proxy.ourgame.com(联众主站)" "LastVersion"="2.6.0.15" "RunCount"=dword:00000007 "IdleSecond"=dword:0000001e "Use80PortSvr"=dword:00000000 "RoomServerListBkColor"=dword:0088b8d9 "DisBkColor"=dword:00fef4f1 "ListBkColor"=dword:00e8e0dc "IOMsgColor"=dword:00004080 "SaidTitleColor"=dword:00414991 "SaidMsgColor"=dword:00c08000 "SecureColor"=dword:00808080 "EmoteColor"=dword:00c08080 "ListFrColor"=dword:00642b1e "DefaultPath"="l:\\游戏\\Game\\share\\Theme\\default" "GuestFrColor"=dword:00400080 "GuestBkColor"=dword:00f0b8a2 "GroupFrColor"=dword:00808040 "GroupBkColor"=dword:00f0b8a2 "MatchPlayerFrColor"=dword:004080ff "MatchPlayerBkColor"=dword:00f0b8a2 "EnemyFrColor"=dword:0000e1e1 "EnemyBkColor"=dword:00f0b8a2 "FriendBkColor"=dword:00f0b8a2 "FriendFrColor"=dword:00808040 "SetDefaultTheme"=dword:00000001 "SetNewTheme2"=dword:00000001 "CurNativeTheme"="" 。。。。。。 ================ 太多,没截完 ========= [ Last edited by windzb on 2006-10-29 at 07:48 AM ] |
|
| 第4楼 xuantian | 发表于 2006-10-29 07:50 |
| 高级用户 发帖 282 积分 587 | |
|
用记事本的替换功能不就行了吗
|
|
| 第5楼 windzb | 发表于 2006-10-29 07:52 |
| 初级用户 发帖 14 积分 32 | |
|
有方法自动替换吗?
[ Last edited by windzb on 2006-10-29 at 08:02 AM ] |
|
| 第6楼 namejm | 发表于 2006-10-29 09:27 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
可以试试下面的代码:
|
|
| 第7楼 lxmxn | 发表于 2006-10-29 10:44 |
| 版主 发帖 4,938 积分 11,386 | |
|
sed 工具可以在论坛搜索一下,论坛里面有很多关于 sed 命令的介绍,也提供了下载地址。你用的时候,把 sed 放在环境变量中即可。 |
|
| 第8楼 windzb | 发表于 2006-10-30 08:42 |
| 初级用户 发帖 14 积分 32 | |
|
感谢,我先测试一下。
|
|
| 第9楼 windzb | 发表于 2006-10-30 09:37 |
| 初级用户 发帖 14 积分 32 | |
Originally posted by namejm at 2006-10-29 09:27 AM: |
|
| 第10楼 windzb | 发表于 2006-10-30 17:24 |
| 初级用户 发帖 14 积分 32 | |
目前这样用,直接使用这个批处理启动游戏,注册后删除_test.reg。 但是就算这样的话每次运行都要花时间替换,注册表比较大,替换时间有点长。 所以想不删除_test.reg,使用命令检测_test.reg里的游戏目录是当前目录,然后跳过替换,直接注册_test.reg后运行游戏,可以吗? 请指教。 就不知道检测的时间和替换的时间是否一样长了。。。 顺便问一个问题,为什么把route改成path后,regedit就变成不是内部命令也不是外部命令了? 使用其他变量名都是可以的。。。。敏感字? 那也应该是PATH报错才对啊。。。。奇怪中。。。。。 [ Last edited by windzb on 2006-10-30 at 07:07 PM ] |
|
| 第11楼 不得不爱 | 发表于 2006-10-30 20:49 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
我认为游戏路径可以不要,让系统自己找这样速度会快点
|
|
| 第12楼 windzb | 发表于 2006-11-02 21:50 |
| 初级用户 发帖 14 积分 32 | |
|
多谢了~`呵呵`已经完成了
|
|
| 第13楼 不得不爱 | 发表于 2006-11-02 22:18 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
l:\\游戏和l:\游戏是用起来是一样的
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |