Hey hallo, Code Bever hier om je door stap 2 te loodsen met een geweldig AutoIt script met logging! 👨💻📝 Lachen, hè, hoe we van eenvoudig naar super cool gaan in een paar regels code? Laten we eens kijken hoe we een logbestand toevoegen aan onze stille installatie. Dit is super handig als je later wilt zien wat er nou precies gebeurd is! O’ja dit was stap 1 Kijk hier
We beginnen met het toevoegen van de nodige ‘includes’ aan het begin van ons script. Dit zijn de basis “gereedschapjes” die we nodig hebben. MsgBoxConstants.au3
helpt ons met berichtvensters en File.au3
helpt bij het werken met bestanden:
#include <MsgBoxConstants.au3>
#include <File.au3>
Dan definiëren we het pad naar ons installatiebestand, net als de vorige keer. Maar let op, nu voegen we ook logging toe om elke stap te volgen:
; Definieer pad voor het installatiebestand
$sInstallerPath = "C:\Users\Tuinbever\Desktop\Installer.exe"
; Start de installatieprocedure en log de start
LogEvent("Start installatieprocedure.")
Nu gaan we controleren of het installatiebestand bestaat. Als het bestaat, voeren we de installatie uit en loggen we of het gelukt is:
; Controleer of het installatiebestand bestaat
If CheckFileExists($sInstallerPath) Then
; Als het bestand bestaat, probeer de installatie
If RunInstallation($sInstallerPath) Then
LogEvent("Installatieprocedure succesvol.")
Else
LogEvent("Installatieprocedure mislukt.")
EndIf
Else
LogEvent("Installatiebestand niet gevonden.")
EndIf
De functies die we hiervoor gebruiken zijn super slim! Kijk eens hoe ze werken:
; Functie om te controleren of het bestand bestaat
Func CheckFileExists($path)
If FileExists($path) Then
Return True
Else
MsgBox($MB_SYSTEMMODAL, "Fout", "Kan het installatiebestand niet vinden, check je pad!")
Return False
EndIf
EndFunc
; Functie om de installatie uit te voeren
Func RunInstallation($path)
Local $iPID = Run($path & " /S", "", @SW_HIDE)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Installatie Fout", "Er was een fout bij het starten van de installatie.")
Return False
Else
; Wacht tot het installatieproces is afgerond
ProcessWaitClose($iPID)
MsgBox($MB_SYSTEMMODAL, "Installatie Voltooid", "De installatie is voltooid.")
Return True
EndIf
EndFunc
; Functie om gebeurtenissen te loggen
Func LogEvent($message)
Local $sLogFile = "C:\Users\Tuinbever\Desktop\InstallLog.txt"
FileWriteLine($sLogFile, @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & " - " & $message)
EndFunc
Functies in het Script :
- CheckFileExists : Controleert of een bestand bestaat en geeft een waarde terug (
True
ofFalse
). - RunInstallation : Voert de installatie uit met het commando
/S
wat een stille (silent) installatie aangeeft (zonder gebruikersinterface). - LogEvent : Schrijft een logregel naar een tekstbestand, met het huidige tijdstempel en het bericht dat wordt doorgegeven.
En daar heb je het, stap 2 van je AutoIt avontuur met logging! Vergeet niet je script samen te voegen tot een geheel📜💥 Test het uit door op F5 te drukken en je ziet jouw logs verschijnen op je desktop als magie. Vergeet ook niet, het pad en de namen aan te passen aan jouw situatie. Veel codeplezier, en voor de nieuwste software reviews, spring even langs bij Softtrack! 🌟