J'ai plusieurs scripts qui s'exécutent dans un répertoire. Ils sont tous exécutés simultanément. J'ai du mal à déterminer quel script a été terminé en dernier. Y a-t-il un moyen de le savoir?Déterminez quel script a terminé en dernier
Répondre
Utilisez un script maître pour démarrer les scripts (enfants) via .Exec; surveiller les propriétés d'état des objets exec; journal/affiche l'heure à laquelle le statut de l'objet exec passe à WshFinished.
Ma suggestion est basée sur WMI. (Ci-dessous pour faire défiler idée fraîche)
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
[EDIT] Eh bien, une idée nouvelle venue à mon esprit en ce moment, peut-être vous trouverez intéressant, ou du moins lui donner un essai.
' 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
L'idée est de modifier le fichier DateLastModified
propriété en ajoutant un char du fichier.
La journalisation de base fera l'affaire, écrire une entrée de journal lorsque le script commence et se termine, vous pouvez également enregistrer la durée. Vous pouvez écrire les résultats dans un fichier journal. Les résultats sont en secondes.
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. Déterminez quel contrôle a le focus
- 2. Déterminez quel bouton a déclenché la soumission
- 3. Déterminez quel bouton radio l'utilisateur a sélectionné
- 4. Déterminez quel cadre (nom) a appelé une fonction en JavaScript
- 5. BackgroundWorker a terminé l'événement - quel fil?
- 6. ViewPager a terminé le défilement du dernier fragment
- 7. Déterminez quel bouton a été enfoncé dans Tkinter?
- 8. Déterminez quel contrôle a été ouvert sur le menu contextuel
- 9. JQuery: Déterminez quel SELECT parmi les enfants a changé
- 10. Comment déterminez-vous quel SKSpriteNode a été cliqué?
- 11. Déterminez quel poste appartient à
- 12. ThreadPool.QueueUserWorkItem a terminé l'événement?
- 13. Déterminez quel processus verrouille le presse-papiers
- 14. Déterminez quand le film Flash SWF s'est terminé avec JavaScript
- 15. Comment déterminez-vous quel adaptateur est utilisé?
- 16. Bibliothèque Android - déterminez quel paquet est utilisé
- 17. Déterminez quand un crochet de la souris a traité le dernier message
- 18. Déterminez quel textview doit être coupé
- 19. Affichage du texte 'Terminé' une fois le script PHP terminé
- 20. Déterminez si le script/serveur est démarré
- 21. Déterminez si la page a été actualisée
- 22. Déterminez si une connexion a été rompue
- 23. Déterminez s'il y a 6 mois depuis l'anniversaire dans C#
- 24. Déterminez si le périphérique a été déplacé
- 25. Déterminez pourquoi un test a échoué
- 26. Déterminez où une fonction a été exécutée?
- 27. Le script Python exécute un autre script et reprend une fois que le deuxième script a terminé son travail.
- 28. vérifier si jquery hide a terminé l'exécution
- 29. Déterminez quel élément a envoyé un formulaire depuis l'intérieur de la sous-unité
- 30. Dernier script d'édition PHP/MySQL?