![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 23:43 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]批处理判断操作注册表的问题 |
| 可打印版本 847 / 3 |
| 第1楼 lzymbz | 发表于 2009-05-20 00:37 |
| 初级用户 发帖 8 积分 114 | |
|
[已解决]批处理判断操作注册表的问题 @echo off
for /f "skip=4 delims=" %%s in ('reg query "HKEY_CURRENT_USER\Control Panel" /v opened') do set a=%%s if "%a:~-1,1%"=="1" start A.exe if "%a:~-1,1%"=="2" start B.exe if "%a:~-1,1%"=="3" start c.exe pause 这是在别的地方看到的一个例子 现在想 判断一个注册表位置 根据数值修改 @echo off for /f "skip=4 delims=" %%s in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v Start Page') do set a=%%s if "%a:~-1,1%"=="http://www.xxx.com/" start *** if "%a:~-1,1%"=="2" start B.exe pause 提示 错误:命令行参数太多 此时不应有start。 我现在想达到的目的就是 好比 Start Page 如果是http://www.999.com/ 直接推出 是http://www.xxx.com/ 就把http://www.xxx.com/改为 http://www.yyy.com/ 如果是http://www.ooo.com/ 改为 http://www.ppp.com/ 如果以上都不是 也退出 其中 http://www.999.com/ 这类地址没有规律 需要在批处理中指定 谢谢 麻烦大家了 [ Last edited by lzymbz on 2009-5-20 at 11:28 ] |
|
| 第2楼 newxso | 发表于 2009-05-20 01:03 |
| 初级用户 发帖 101 积分 73 来自 GZ | |
|
请记住,在同一个参数内容中存在空格,用双引号:
reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Start Page" 在你的批处理中只保留以上一句,看看结果,再确定 for 语句形式,不能搬其它代码,因为结果不同。 |
|
| 第3楼 tireless | 发表于 2009-05-20 01:27 |
| 银牌会员 发帖 1,122 积分 2,025 | |
| 第4楼 lzymbz | 发表于 2009-05-20 10:01 |
| 初级用户 发帖 8 积分 114 | |
Originally posted by tireless at 2009-5-20 01:27 AM: |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |