[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 wh1234567 于 2012-6-7 13:35 编辑

xp的,代码就是复制你的9楼的代码,19楼的我看不懂,没法测试成功

TOP

回复 33# wh1234567


19楼的代码已经演示了,完全正常,不知为何到你那里就有各种问题。
1、你的操作系统是什么?
2、你的用户权限够不够?
3、请帖出你的完整代码。

TOP

本帖最后由 wh1234567 于 2012-6-7 01:20 编辑

Value = ws.RegRead(Hive&"\"&KeyPath&"\"&ValueName)
会弹出错误的对话框,是不是需修正下这个代码?
另外,能不能弄成当第一次运行或在监视的过程中发现数值是大于29就自动执行a.bat,这样比较稳定一些,

TOP

脚本:        C:\Documents and Settings\Administrator\桌面\新建 文本文档 (2).vbs
行:        18
字符:        5
错误:        无法打开注册键值 "HKEY_LOCAL_MACHINE\333\444" 进行读取。
代码:        80070002
源:         WshShell.RegRead

这个代码需修正,应该是"HKEY_LOCAL_MACHINE\333" 里右边的名称"444
而不是HKEY_LOCAL_MACHINE\333\444

会出错的,另外,当第一次运行时注册表项数值正好是29的话就无法执行a.bat 了,

TOP

回复 31# wh1234567


     28楼:“19楼引用的内容是在cmd中手动执行命令进行演示的过程。”同学你没睡醒吧?

TOP

本帖最后由 wh1234567 于 2012-6-6 17:47 编辑

C:\Users\root\Desktop>type a.bat
@echo hello&pause

C:\Users\root\Desktop>type a.vbs
...
Sub SINK_OnObjectReady(wmiObject, wmiAsyncContext)
    Value = ws.RegRead(Hive&"\"&KeyPath&"\"&ValueName)
    WScript.Echo "Registry Value Changed: " & Value
    if CStr(Value)="29" then ws.Run "a.bat" ',0 '后面加0表示隐藏窗口运行
End Sub

C:\Users\root\Desktop>start /b cscript C:\Users\root\Desktop\a.vbs

Listening for Registry Change Events...

C:\Users\root\Desktop>reg add hklm\Software\333 /v 444 /d 28 /f
操作成功完成。

Registry Value Changed: 28

C:\Users\root\Desktop>reg add hklm\Software\333 /v 444 /d 29 /f
操作成功完成。

Registry Value Changed: 29

C:\Users\root\Desktop>


vbs运行a.bat弹出了一个窗口:
hello
请按任意键继续. . .

你这个是vbs的还是bat的?感觉很乱,并且不能运行提示错误,你能不能整理下

TOP

回复 29# wh1234567


    省略路径当然也可以。
那是我的cmd初始目录不是C:\Users\root\Desktop,而在其他地方运行过那条命令,后来我切换到桌面,直接按↑↓方向键调出历史命令,懒得重新输入。

你的bat随便放在哪里都可以,只要在ws.Run那里填上正确的路径即可(相对路径也行)。
这个vbs的作用只是监视注册表和启动bat,你在bat里可以随便写,已经与这个vbs无关了。

TOP

C:\Users\root\Desktop
为什么指定路径,在当前路径不行吗
我的批处理只能自己创建个文件夹放进去?哎

TOP

19楼引用的内容是在cmd中手动执行命令进行演示的过程。
...是英文省略号,表示省略9楼代码的相同部分以免浪费,还特意用蓝色区分与9楼代码不同的地方。浅蓝色是vbs的执行结果。

TOP

我就是复制的你这个代码啊,
代码里... 这个是什么意思?

TOP

回复 25# wh1234567


    你把19楼的内容好好看一遍,对比一下你是哪里写的有问题。

TOP

是不是刚才你这个代码不完整啊?

TOP

hello
请按任意键继续. .
按任意键后就自动退出了,进程里也看不到,注册表里相应的29也没见变化,我的a.bat是处理注册表项的,但没见自动执行a.bat
我的a.bat和你刚才这个批处理是在相同目录下的

TOP

回复 22# wh1234567


那你的
hello
请按任意键继续. .
是怎么来的呢?

和你们交流真是累死了。。。

TOP

回复 21# powerbat


    不管用,没效果

TOP

返回列表