Wie erstelle ich eine Logfile mit Batch?
Hey, ich wollte mal fragen wie man eine Logfile erstellt mit Batch. Kann mir das vielleicht jemand sagen oder mir ein Script schicken? Danke im voraus.
Mit freundlichen Grüßen
YourTechnic
1 Antwort
Einen Log-File wofür?
Um etwas Aufzuzeichnen (loggen) musst Du erstmal wissen was Du loggen möchtest...
Batch ist die denkbar schlechteste Sprache um irgendwelche Abläufe zu verfolgen, da es über keine Möglichkeit verfügt sich in Ereignisketten einzuklinken. (wmic ist als Datenquelle obsolet)...
Eine Log-File die eventuell aufzeichnet welche Anwendung ich geöffnet habe und wann und für wie lange
...ach so Du denkst Dir so... ach ja irgend was...🤔
Kannst Du in Batch total vergessen.
Ein ähnliches Thema hatte ich vor einiger Zeit schon mal:
Das folgende Powershellscript funktioniert nur bis Powershell 5.1. (WMI ist deprecaded und wird von neueren Powershellversionen nicht mehr unterstützt)
demo.ps1
#WQL Abfrage an das WMI ermittle im Abstand von 1 Sekunde ein Löschereignis von der Processklasse ausgelöst wurde
$queryProcessClose = "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"
# was bei eienm solchen §Ereigniss getan werden soll
$CloseAction = {
$ProcName = $event.SourceEventArgs.NewEvent.TargetInstance.Name
$ProcCreated = $event.SourceEventArgs.NewEvent.TargetInstance.CreationDate
$LogString ='{0:g}: Process "{1}" started at: {2:g} has closed.' -f (Get-Date),$ProcName,$ProcCreated
write-host $LogString
$LogString | Out-File pocclose.log -Append
}
# registriere ein Den Ereignisshandler
$null = Register-WMIEvent -Query $queryProcessClose -Action $CloseAction
Write-Host 'Warte auf Ereignissen'
while ($True) {sleep -m 100}
Eine Log-File die eventuell aufzeichnet welche Anwendung ich geöffnet habe und wann und für wie lange