我有幾個運行在目錄中的腳本。它們都是同時執行的。我無法確定哪個腳本最後完成。有沒有辦法找到這個?確定哪個腳本最後完成
1
A
回答
2
使用主腳本通過.Exec啓動(子)腳本;監視exec對象的狀態屬性;記錄/顯示執行對象狀態更改爲WshFinished的時間。
1
我的建議是基於WMI。 (新鮮的想法下面滾動)
Option Explicit
Dim objWMIService, colProcesses, objProcess
Dim iCount, iLoop, sFileName
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& ".\root\cimv2")
' wait all scripts to finish
Do While True
WScript.Sleep 200
' snapshot running scripts
Set colProcesses = objWMIService.ExecQuery(_
"Select * From Win32_Process " _
& "Where Name = 'WScript.exe' " _
& "OR Name = 'CScript.exe'", , 48)
iCount = 0
For Each objProcess In colProcesses
' skip current "monitor" script, test the rest
If InStr (objProcess.CommandLine, WScript.ScriptName) = 0 Then
sFileName = Split(objProcess.CommandLine, """")(3)
iCount = iCount + 1
End If
Next
If iCount < 1 Then Exit Do
iLoop = iLoop + 1
Loop
' and show what we get
If iLoop > 0 Then
WScript.Echo "LastOne:" & vbNewLine & sFileName
Else
WScript.Echo "No other .vbs running except Me"
End If
[編輯]好了,一個新的想法出現在我的腦海,現在,也許你會發現它很有趣,或者至少給它一個嘗試。
' do your work here...
WScript.Sleep 3000
Call SelfLogged
Sub SelfLogged()
Const ForAppending = 8
With CreateObject("Scripting.FileSystemObject")
With .OpenTextFile(WScript.ScriptFullName, ForAppending)
.Write Chr(0)
End With
End With
End Sub
這個想法是通過在文件中附加一個字符來改變文件DateLastModified
屬性。
2
基本日誌記錄將做的工作,在腳本開始和結束時,你也可以登錄時間,當寫日誌條目。您可以將結果寫入日誌文件。結果以秒爲單位。
startTime=timer
wscript.echo "started at " & startTime
'do your stuff'
wScript.sleep 500
stopTime=timer
wscript.echo "stopped at " & StopTime & " duration was " & stopTime - startTime
'started at 81558,17
'stopped at 81558,67 duration was 0,5
相關問題
- 1. 讓腳本等到最後一個腳本完成
- 2. 如何確定完成哪個線程
- 3. PHP腳本404完成後
- 4. 在哪裏把bash完成腳本
- 5. 在完成腳本後關閉PC
- 6. 腳本完成後顯示子圖塊
- 7. 上傳完成後移動腳本
- 8. 腳本完成後退出屏幕
- 9. PHP腳本完成後刪除文件
- 10. 完成後期望腳本不退出
- 11. jquery完成後運行腳本
- 12. Python完成腳本後掛起
- 13. 完成sge作業後運行腳本
- 14. 事件完成後加載jquery腳本
- 15. Shell腳本完成後執行命令
- 16. 完成powershell腳本
- 17. shell腳本 - 完成
- 18. 當腳本完成時調用自己的php腳本 - 不確定地
- 19. 如何確定所有腳本何時完成運行?
- 20. 確定後臺服務何時完成
- 21. 在JavaScript腳本完成後加載jQuery腳本
- 22. 自定義腳本的zsh完成
- 23. 如何確定哪個版本的Python適合腳本?
- 24. 確定哪個用戶已完成調查 - Limesurvey
- 25. 找到最後合併完成到一個分支明確
- 26. 確定哪個PHP腳本執行特定的mysql查詢
- 27. 如果我在sh文件中有2個php腳本,我可以確定第二個腳本只會在第一個腳本完成後纔開始運行?
- 28. PHP運行腳本,然後重定向一次完成
- 29. 如何確保腳本僅在子進程完成後執行後續方法
- 30. 如何在完成前一個腳本之後運行蘋果腳本