当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > vbs实现的eMule电驴自动关机脚本代码

VBScript
用vbs检索在运行对话框中键入的一系列命令的代码
编写可以打开文本文件并打乱在该文件中所找到的单词顺序的vbs脚本
在 HTA 中暂停脚本的方法
运行脚本之前,如何确定计算机上的默认脚本宿主的代码
用vbs实现删除名称中有撇号的文件夹
用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法
用vbs实现配置无人登录计算机时使用的屏幕保护程序
用vbs更改 Internet Explorer 的标题栏
用vbs读取文本文件的最后一行
用vbs实现重新启动 Internet Explorer
用vbs实现禁用服务
用vbs确定计算机是否有 USB 2.0 端口的代码
用vbs列出注册表中 Run 项中的所有项目
用vbs将名称截断以使其最多包含 16 个字符的代码
用vbs将本地文件替换为在文件服务器上找到的新版本
用vbs确定脚本正在哪一个帐户下运行
用vbs确定可移动驱动器的连接时间
用vbs记录屏幕保护程序的开始时间和结束时间
用vbs计算某个词在日志文件中的出现次数
vbs病毒的简单例子源代码解析

VBScript 中的 vbs实现的eMule电驴自动关机脚本代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 76 ::
收藏到网摘: n/a

Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = WScript.CreateObject("WScript.Shell")
Count = 0
Do Until Count< -1
chksize = fso.GetFolder("C:\Program Files\eMule\Temp").Size
If chksize = 0 Then
WScript.Sleep 120000
'ws.run "shutdown -p", 0 '这句还是不太好使
ws.run "tsshutdn 60 /delay:0 /powerdown",0 '这个是在一个批处理关机程序里看到的,非常强,试了很多次,各种情况下都能关机(2003系统,其它系统未测)
End If
WScript.Sleep 120000
Loop
将以上代码保存为文本文件,将"C:\Program Files\eMule\Temp"改成你自己的emule临时文件目录,并将后缀改成vbs运行即可。
此脚本的作用是每2分钟检测一次temp文件夹,若emule下载完成,则temp为空,脚本等待2分钟后强行关闭本地计算机,没有超时或警告。
不过本人非常配服作者的见解,作者太有才了,能想出这种办法来。
非常感谢对我的评价,作者的生气是可以理解的,我也不多做解释了,因为我不在您的网站上看到这内容,且,我看了您的代码,是可以正常工作的
现在说下我的观点:
1。我在网上看到的内容是提示是在do里边的,所以这个方法是不行的。
2。shutdown 的参数,我是不怎么了解,我用的系统是2003+sp2这个上的shutdown 是有-p属性的,不过看了您的文章知道了,还有个-f属性,我这个版本也有,所以您的代码通用性比较强。
3。至于 ,脚本等待2秒后强行关闭本地计算机,没有超时或警告。这个是本人粗心所致(应该是2分钟120000=120*1000),此文会改正。
作者对他写的文章如此关注,实在令人敬佩,
另:您的网站没法进行留言,我试了很多都不行,您还是处理一下吧,或网站上加上一个联系方式,这个以便和您联系。
贴上作者原代码:
通用信很强的
dir=”E:\Temp”
Set fso=CreateObject(”Scripting.FileSystemObject”)
cmd=”shutdown -s -f -t 60″
Set ws=WScript.CreateObject(”WScript.Shell”)
Wscript.Echo “emule自动关机脚本已运行……”
count=0
do until count<-1
chksize = fso.GetFolder(dir).Size
If chksize=0 Then
ws.run cmd,0
End If
WScript.Sleep 120000
loop因为好多人都不设置存放文件的路径所以,给个比较直接的
Dir = "C:\Program Files\eMule\Temp"
Set fso = CreateObject("Scripting.FileSystemObject")
cmd = "shutdown -s -f -t 60"
Set ws = WScript.CreateObject("WScript.Shell")
Wscript.Echo "emule自动关机脚本已运行……"
Count = 0
Do Until Count< -1
chksize = fso.GetFolder(Dir).Size
If chksize = 0 Then
ws.run cmd, 0
End If
WScript.Sleep 120000
Loop本人修改的:
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = WScript.CreateObject("WScript.Shell")
Count = 0
Do Until Count< -1
chksize = fso.GetFolder("C:\Program Files\eMule\Temp").Size
If chksize = 0 Then
WScript.Sleep 120000
ws.run "tsshutdn 60 /delay:0 /powerdown", 0 '这个是在一个批处理关机程序里看到的,非常强,试了很多次,各种情况下都能关机(2003系统,其它系统未测)
End If
WScript.Sleep 120000
Loop