中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请教怎样用批处理重命名注册表的某个键
作者:
标题: [求助]请教怎样用批处理重命名注册表的某个键 上一主题 | 下一主题
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『楼 主』:  [求助]请教怎样用批处理重命名注册表的某个键

比如
[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]的
"\\DosDevices\\C:"=hex:fc,57,b2,d9,4e,68,cb,4d,ab,79,03,cf,a2,f6,b7,50
重命名为
"\\DosDevices\\Y:"=hex:fc,57,b2,d9,4e,68,cb,4d,ab,79,03,cf,a2,f6,b7,50

谢谢。

2010-12-11 15:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  


@echo off
set n=HKLM\SYSTEM\MountedDevices
set m=\DosDevices\
for /f "tokens=2* delims=        " %%a in ('reg query %n% /v "%m%C:"') do (
reg add %n% /v "%m%Y:" /d %%b /t %%a /f
reg delete %n% /v "%m%C:" /f
)
delims=后为一个tab制表符

[ Last edited by Hanyeguxing on 2010-12-11 at 23:17 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-11 16:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 3 楼』:  

谢谢楼上的朋友。
刚才试了一下,似乎不行,不知道是否是我的系统问题,我的是精简版的,也许缺少某个命令行程序吧。
能否提示一下会调用什么命令行程序?
已改为tab制表符。
再次感谢。

[ Last edited by dosshuini on 2010-12-11 at 19:09 ]

2010-12-11 18:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 4 楼』:  

刚在完整的系统中测试,也不行。可以排除缺少文件的原因。

2010-12-11 19:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 5 楼』:  

测试用:
@echo off
set n=HKLM\SYSTEM\MountedDevices
set m=\DosDevices\
for /f "tokens=2* delims=        " %%a in ('reg query %n% /v "%m%C:"') do (
echo %%b和%%a
pause
把这个结果贴上来(delims=后为一个tab制表符)

[ Last edited by Hanyeguxing on 2010-12-12 at 00:18 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-11 23:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 6 楼』:  


运行后没有反应。我的系统是windows2003 sp2

2010-12-12 11:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 7 楼』:  

你复制错了。。。
直接在命令提示符里运行
reg query  HKLM\SYSTEM\MountedDevices /v "\DosDevices\C:"




批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-12 12:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 8 楼』:  

汗。。。

重新来过,附上图片两张:

图1-运行5楼代码


图2-运行7楼代码


2010-12-12 12:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 9 楼』:  

图1中的Tab制表符无法直接输入,复制黏贴后丢失。

2010-12-12 12:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
726842270
初级用户

枫中残雪


积分 65
发帖 43
注册 2010-4-29
来自 吉林省长春市
状态 离线
『第 10 楼』:  

LZ似乎不了解FOR的变量在CMD中和P的区别,在CMD下不能用%%A这是P的写法,S要写成%A才对

2010-12-12 12:24
查看资料  发送邮件  发短消息 网志  OICQ (726842270)  编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 11 楼』:  

我对批处理知之甚少,也就会写个copy之类最简单的东西。我现在想搞个一键将现有系统做成ramos的批处理,目前就卡在了重命名\\DosDevices\\C:为\\DosDevices\\Y:上,因为每台机器\\DosDevices\\C:的值都不同,所以需要保留不处理,而仅仅是更改一下它的键名,即盘符。
我之前的想法是批处理先导出MountedDevices项为1.reg,然后删除注册表中这个项,接着替换1.reg中的\\DosDevices\\C:为\\DosDevices\\Y:,最后重新导入1.reg。
无奈能力不够,替换这一环没有成功,不知道是否是因为含有“\”":"等特殊字符的缘故。
故注册了上坛子来求教。

[ Last edited by dosshuini on 2010-12-12 at 12:53 ]

2010-12-12 12:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 12 楼』:  

楼主再重新运行2楼的批处理代码看下,是批处理,不是在cmd命令解释器里直接运行的
ps:在xp sp3下测试修改成功的

[ Last edited by Hanyeguxing on 2010-12-12 at 13:40 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-12 13:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 13 楼』:  

谢谢Hanyeguxing的耐心!
直接点击bat文件,一闪而过,注册表没有发生变化,拖到cmd运行,也无反应。

2010-12-12 13:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 14 楼』:  

难道是win2003不支持??

2010-12-12 13:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosshuini
新手上路





积分 10
发帖 10
注册 2010-12-10
状态 离线
『第 15 楼』:  

哈哈,成功了!
我试着将tab制表符改为空格符,居然立马生效!
谢谢Hanyeguxing,谢谢!

2010-12-12 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: