新人求助 asp如何实现电驴下载完成自动关机
以前没有接触过asp,不过是在百度搜索“如何实现电驴下载完成自动关机”的时候发现的,所以如果提的问题很白,不要奇怪,呵呵。由于是本地使用所以都没加Server,加了也会出现错误。一下是问题。在百度里搜索的“如何实现电驴下载完成自动关机”都是以下方法,此脚本的作用是每两分钟检测一次temp文件夹,若emule下载完成,则temp为空,脚本执行关机命令倒计时60秒关机。
dir="D:\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
但是我发现电驴现在就算在下载temp文件夹也是空的(难道跟我改了默认下载目录有关?)所以运行结果就是直接60秒关机。
我发现在下载某个文件的时候比如《哈利波特与火焰杯.EXE》在未完成的时候在同一目录下,会有一个《哈利波特与火焰杯.EXE.part.met》文件大概2.34K。完成了就没有了。所以如果把上述脚本改成测试此文件大小则会出现没有发现文件的错误而不起作用。
所以我想通过测试此文件是否存在来控制自动关机。百度了半天脚本改写为
Set fso=CreateObject("Scripting.FileSystemObject")
dir=MapPath("E:\下载管理\哈利波特与火焰杯.EXE.part.met")
cmd="shutdown -s -f -t 60"
Set ws=WScript.CreateObject("WScript.Shell")
Wscript.Echo "emule自动关机脚本已运行……"
count=0
do until count<-1
if fso.FileExists(dir) then
ws.run cmd,0
End If
WScript.Sleep 120000
loop
此脚本的错误在于MapPath是将指定的相对或虚拟路径映射到服务器上相应的物理目录上,而我是本地使用,所以直接就是物理目录,所以出现类型不匹配错误,导致无法将物理目录赋值给dir,程序无法运行。
百度了半天,无解,望高手前来指教。如果asp无法完成此功能的话,用别的编程语言完成的也可以指教出来,谢谢。