中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用VBS的regread方法列出注册表RUN项下所有的值?
作者:
标题: 如何用VBS的regread方法列出注册表RUN项下所有的值? 上一主题 | 下一主题
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『楼 主』:  如何用VBS的regread方法列出注册表RUN项下所有的值?

如题



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-8-31 18:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 2 楼』:  

沉了,沉了~~



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-8-31 19:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

RegRead主要是用来读取注册表中主键的默认值或键值的数据

你觉得能有办法麽?

2007-8-31 19:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 4 楼』:  

不好意思,似乎问了蠢问题了,请见谅。
那VBS有什么方法能实现我的要求呢?



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-8-31 19:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

我觉得没有直接的方法……

2007-8-31 20:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 6 楼』:  

哦,谢谢.
问个不相干的问题。批处理中有转义字符,在VBS中应该如何表示呢?比如我想向某
文本写入这样的语句:
writefile.WriteLine "set WSH=CreateObject("wscript.shell")"
怎样表达才是正确的?



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-8-31 20:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 7 楼』:  

VBS只有"需要转义为""

2007-8-31 20:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 8 楼』:  

能否给个例子?比如:

Dim fso,writefile
Set fso=CreateObject("Scripting.FileSystemObject")
Set writefile=fso.OpenTextFile("Login.vbs",2,true)
writefile.WriteLine "Dim WSH"
writefile.WriteLine "set WSH=CreateObject("wscript.shell")"

其中的writefile.WriteLine "set WSH=CreateObject("wscript.shell")"怎样写才是正确的?



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-8-31 20:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 9 楼』:  

1.别忘记了WMI:
        Dim strPath,x,strOut
        Dim arrValueNames
        Dim oReg
       
        Const HKLM = &H80000002
       
strPath = "Software\Microsoft\Windows\CurrentVersion\Run"
Set oReg = GetObject("Winmgmts:\root\default:StdRegProv")
    oReg.EnumValues HKLM,strPath,arrValueNames
For Each x In arrValueNames
    strOut = strOut & x & vbCrLf
Next
WScript.Echo strOut
2:注意引号中的引号,可以尝试把中间的两个引号用chr(34)来替换。例如:
writefile.WriteLine "set WSH=CreateObject(" & chr(34) & "wscript.shell" & chr(34) & ")"

2007-8-31 21:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 10 楼』:  

另外,如果用BAT的话可以参考 利用WMIC读取注册表

2007-8-31 21:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 11 楼』:  

实在非常感谢3742668,初学者总有一堆问题。^_^



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-8-31 21:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 12 楼』:  

TO:3742668
可不可以把它的键值也读出来呢?

2007-8-31 21:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:  

writefile.WriteLine "set WSH=CreateObject(“"wscript.shell”")"

不喜欢chr……

2007-8-31 21:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by jmz573515 at 2007-8-31 21:30:
TO:3742668
可不可以把它的键值也读出来呢?

读当然可以……
不过不同类型还要用不同的方法=。=

2007-8-31 21:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by jmz573515 at 2007-8-31 21:30:
TO:3742668
可不可以把它的键值也读出来呢?

有了键名,再用RegRead或GetStringValue不就得到了一切?

2007-8-31 21:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: