vbs實現的eMule電驢自動關機腳本代碼
2020-07-26 11:56:08
供稿:網友
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