Hallo!
Ich bin neu hier habe auch gleich eine Frage (naja…eigentlich sind´s mehrere): Zurzeit schreibe ich ein Script, das die Datensicherung in unserer Firma automatisieren soll. Der Hintergrund ist dieser…der User muss immer solange vor dem PC bleiben, bis die Sicherung zu Ende ist und kann dann erst den Rechner runterfahren.
Soweit ist das Script schon fertig…habe nur ein Verständnisproblem bei…wenn dies kommt soll er das machen (If...Then).
Also: zum Anfang der Datensicherung können 3 verschieden Fenster auftauchen.
- Wenn Fenster 1 auftaucht, soll das Script beendet werden (besser wäre, dass das Script es noch einmal in einer Stunde versucht…wenn es so was gibt)
- Wenn Fenster 2 wie Fenster 1
- Wenn Fenster 3 auftaucht, soll das Script das Fenster abarbeiten und fortfahren
- Wenn Fenster 4 wie Fenster 1 (taucht nicht zum Anfang auf sondern mittendrin)
Spoiler anzeigen
$Pfad = "\\192.168.0.101\AFS-Software\AFS-Kaufmann\AFS_Kaufmann.exe"
$NL = "X:"
$SICHERN = "\192.168.0.9\AFS Kaufmann Install\AFS Datensicherungen"
$User = "xxxx"
$Passwort = ""
$Version = "8.04"
#include <Date.au3>
run($Pfad)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AFS-Software\AFS-Kaufmann\Einstellungen\SICHERN", "LSICHERN", "REG_SZ", $NL&$SICHERN); FENSTER 1...Hinweismeldung Kaufmann schon gestartet
If WinExists("Afs_kaufmann") Then
Sleep(1000)
Send("{ENTER}")
EndIf; Fenster 2...Netzwerkpfad gesperrt
If WinExists("Netzwerkpfad gesperrt") Then
Sleep(1000)
Send("{ENTER}")
EndIf ; Fenster 3...Mandant Auswählen Seite
If WinExists("Mandantenassistent (legt eine neue Firma an oder ändert eine vorhandene)") Then
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
Send("{DOWN}")
Sleep(1000)
ControlClick("Mandantenassistent (legt eine neue Firma an oder ändert eine vorhandene)","OK","TBitBtn1")
Sleep(1000)
EndIf; Anmelden Seite...
WinWait("Anmelden")
Sleep(1000)
Send($User)
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send($Passwort)
Sleep(1000)
Send("{TAB}")
Sleep(1000)
Send("{ENTER}"); AFS-Kaufmann 2007 Hauptseite
WinWait("AFS-Kaufmann 2007 V"&$Version)
Sleep(3000)
Send("!f")
Sleep(2000)
Send("c")
Sleep(2000)
Send("!d")
Sleep(2000)
Send("t"); Fenster 4...Warnmeldung das noch User mit dem Kaufmann arbeiten
If WinExists("Frage") Then
Sleep(5000)
Send("{ENTER}")
Sleep(1000)
Send("!d")
Sleep(1000)
Send("n")
Sleep(1000)
WinWait("Information")
Sleep(1000)
ControlClick("Information","&Ja","TButton2")
EndIf; Verbindet das Netzlaufwerk DriveMapAdd($NL, "\"&$SICHERN)
Sleep(2000); Alle User müssen den Kaufmann verlassen...OK Button
WinWait("AFS-Kaufmann 2007")
Sleep(1000)
ControlClick("AFS-Kaufmann 2007","OK","TButton1"); Datensicherungs Seite Zielordner
WinWait("Datensicherung")
Sleep(1000)
Send("!s"); Datensicherung beenden
WinWait("Anmelden")
Sleep(1000)
ControlClick("Anmelden","Abbruch", "TBitBtn1")
Sleep(1000); Erstellt einen Ornder (mit dem Aktuellen Datum) und verschiebt die Dateien in dieses Verzeichnis
DirCreate($Netzlaufwerkbuchstabe&"\"&_DateTimeFormat( _NowCalc(),2))
Sleep(10000)
FileMove($Netzlaufwerkbuchstabe&"\*.txt", $Netzlaufwerkbuchstabe&"\"&_DateTimeFormat( _NowCalc(),2))
FileMove($Netzlaufwerkbuchstabe&"\*.zip", $Netzlaufwerkbuchstabe&"\"&_DateTimeFormat( _NowCalc(),2)); Trennt das Netzlaufwerk wieder;
DriveMapDel($NL); fährt den Rechner runter;
Shutdown(4)
Exit
Ich habe die Stellen wo die Fenster auftauchen auch so benannt. Ich hoffe ich habe mich verständlich ausgedrückt und mir kann jemand helfen. Im Anhang ist noch ein von mir geschriebenes Script für O&O Defrag Server 8.5 unattended Installation.
Gruß chicoray
EDIT BugFix:
Also mei Gutster , bitte erst lesen bevor du postest. Dann wär dir aufgefallen, dass dein Code alles in einer Zeile und ohne jedes Leerzeichen stand.
Ich hab mir die Mühe gemacht und alles umformatiert, damit es auch gelesen werden kann.