on pourrait faire plus vivant en:
- horodater progressivement pour avoir directement le fichioer a.csv
- mettre en première ligne les noms des coonnes
1) lancer tasklist par "taches planifiées ' toutes les 5', mieux plus bas par b.vbs
rem a.bat
date < rc >> "C:\Users\chr\po\a.txt"
time < rc >> "C:\Users\chr\po\a.txt"
tasklist /nh /fo csv /v |sort >> "C:\Users\chr\po\a.txt"
echo
>> "C:\Users\chr\po\a.txt"
2) horodater les lignes par le programme:
'a.vbs
copie heure en tete de tous es kif=gnes
set fs=createobject("scripting.filesystemobject")
set fi=fs.opentextfile("a.txt")
set fo=fs.createtextfile("l.txt")
while not fi.atendofstream
lu=fi.readline
if mid(lu,1,2)="L'" then
h=mid(lu,len(lu)-11)
elseif
if mid(lu,1,2)="La'" then
d=mid(lu,len(lu)-11)
else
fo.writeline d & "," & h & "," & lu
end if
wend
chercher par find dans l.txt
f.bat:
find /i"%1" l.txt
pour faire plus fréquent
lancer par un .vbs qui boucle avec pause de la période désirée
2do:
- 1ne cnsulter le flaq que toutes les minutes
- f"compter le temps de la tâche de la p^ériode
'b.vbs
' boucle
delsec=10
count=0
start=now
flag="..\effacer pour terminer enregistrement tasklist"
set fs=createobject("scripting.filesystemobject")
set fl=fs.createtextfile(flag)
fl.close
set o=createobject("wscript.shell")
' msgbox "pour terminer l'exécution, effacez le fichier" & vbcrlf & flag
while fs.fileexists(flag)
d1=delsec*1000
if datediff("s",start,startnow)>count*delsec then d1=d1-1000
o.run "a.bat " & deltams & " " & (startnow-precedent) & " " & ante & " " & precedent, 7
wscript.sleep(d1)
count=count+1
wend
wscript.quit
scène du crime:
sur lebureau créer un dossier PO
y créer les fichier b.vbs
20161128
fpeut être redirigé
ajopute /n dans f pourpopuvoir mélandger les sorties de deux f
mais gaffe à la longueur de nu nymero de ligne
trustedinstaller semble consommer jusqu'à 5' de cpu en 20' d'elapsed soit UN cpu sur les 4
ajpuite oc à help
version "compact"
' boucle
titre="Date Heure,Nom ,PID,Nom Session,Num session,Memoire,tat,Nom d'utilisateur,CPU,Fenetretre"
cmdline="cmd.exe /C tasklist.exe /fo csv /v |sort> a.txt"
delsec=10
count=0
start=now
flag="..\effacer pour terminer enregistrement tasklist"
set fs=createobject("scripting.filesystemobject")
set fl=fs.createtextfile(flag)
set fo=fs.createtextfile("a.csv")
fo.writeline titre
fl.close
set o=createobject("wscript.shell")
' msgbox "pour terminer l'exécution, effacez le fichier" & vbcrlf & flag
while fs.fileexists(flag)
d1=delsec*1000
if datediff("s",start,startnow)>count*delsec then d1=d1-1000
o.run cmdline, 7
dt=now
set fi=fs.opentextfile("a.txt")
while not fi.atendofstream
lu=fi.readline
if instr(lu,"wsc")>0 then
fo.writeline & dt & """," & lu
end if
wend
fi.close
wscript.sleep(d1)
count=count+1
wend
fo.close
wscript.quit