leider wird mein Script aber nicht beendet, wenn keine externen Laufwerke gefunden werden...
Code: Select all
Else ; falls kein externes Laufwerk angeschlossen ist
{
MsgBox, 4, USB Laufwerk M oder K nicht gefunden, ###################################################`n###################################################`n`n`nUSB Laufwerk M oder K nicht gefunden`nBitte eine externe Sicherungs-Festplatte anschließen!!!`n`nNach dem Anschließen JA drücken.`n`nMöchten Sie jetzt fortfahren?`n(Drücken Sie JA oder NEIN)`n`n`n###################################################`n###################################################
IfMsgBox No
{
break ; Die Schleife wird unterbrochen
ExitApp ; Und das Script wird beendet
}
Gosub, USBLoop
}
Code: Select all
; #NoTrayIcon ; Das AHK Symbol wird nicht angezeigt
#NoEnv ; Nicht nachsehen, ob leere Varibalen evtl. Umgebungsvariablen sind, beschleunigt die Laufzeit
#SingleInstance force ; Bei Neustart des Scriptes die alte Instanz ohne Nachfrage ersetzen
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Dateioperationen werden im Scriptverzeichnis vorgenommen, wenn kein Pfad angegeben wird.
#Persistent ; Keeps a script permanently running - fuer Timer und Schleife notwendig
Code: Select all
; ------------------- Variablen für die Sicherungsanweisungen ---------------------------------------
; WICHTIG: Variablen sind grundsaetzlich zuerst im Skript anzulegen!!!! -----------------------------
ProgPfad := "C:\Autostart\FreeFileSyncPortable\FreeFileSync.exe" ; Aufruf des Programmes mit "%ProgPfad%"
; ProgPfad := "C:\Program Files\FreeFileSync\FreeFileSync.exe" ; Aufruf des Programmes mit "%ProgPfad%"
Spiegelung_USB_2016 := "C:\Autostart\Daten_zu_K_oder_M_2016.ffs_batch" ; Eintrag des Pfades zur Datei nun mit: "%Spiegelung_USB_2016%"
Pruefdatei_001 := "K:\###_Testdatei_Synchronisation---Nicht-Loeschen.txt"
Pruefdatei_002 := "M:\###_Testdatei_Synchronisation---Nicht-Loeschen.txt"
Quelle_001_E := "E:\1--Beispielordner" ; Eintrag der Quelle nun mit: "%Quelle_001_E%"
Quelle_002_E := "E:\5--PortableApps\ThunderbirdPortable" ; Eintrag der Quelle nun mit: "%Quelle_002_E%"
Quelle_003_D := "D:\" ; Eintrag der Quelle nun mit: "%Quelle_003_D%"
Ziel_K_001 := "K:\1--Beispielordner" ; Eintrag des Zieles nun mit: "%Ziel_K_001%"
Ziel_K_002 := "K:\ThunderbirdPortable-Sicherung" ; Eintrag des Zieles nun mit: "%Ziel_K_002%"
Ziel_K_003 := "K:\" ; Eintrag des Zieles nun mit: "%Ziel_K_003%"
Ziel_M_001 := "M:\1--Beispielordner" ; Eintrag des Zieles nun mit: "%Ziel_M_001%"
Ziel_M_002 := "M:\ThunderbirdPortable-Sicherung" ; Eintrag des Zieles nun mit: "%Ziel_M_002%"
Ziel_M_003 := "M:\" ; Eintrag des Zieles nun mit: "%Ziel_M_003%"
; --- Fuehre den Abgleich der Ordner durch - wie in den Pfadbezeichnungen der Variablen angegeben ---
; RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_D%" -rightdir "%Ziel%",,
; ---------------------------------------------------------------------------------------------------
; ------------ Variablen fuer den Mailversand - immer an den Anfang eines Scriptes -----------------------------------
SwithMailOrdner := "C:\Autostart\SwithMail\"
SwithMail_XML := "SwithMail_JL.xml"
E_Mail_von := "USB Datensicherung Server Muster"
Betreff_der_Mail := "Check der USB Datensicherung von Server Muster"
; --------------------------------------------------------------------------------------------------------------------
; ----------------------------------------------------------------------------------------------------------------------
; ------------ Variablen fuer den Logfilereader ------------------------------------------------------------------------
PfadzurLogdatei := "C:\Autostart\zzzz_Batch_Logfiles_M_oder_K\"
AlteLogdateien := "C:\Autostart\zzzz_Batch_Logfiles_M_oder_K\Alte-Logdateien\"
Ergebnis := ""
LogDetails := ""
FFSyncVar1 := "Die folgenden Elemente haben ungelöste Konflikte und werden nicht synchronisiert werden"
FFSyncVar2 := "Synchronisation mit Fehlern abgeschlossen"
FFSyncVar3 := "Synchronisation mit Warnungen abgeschlossen"
FFSyncVar4 := "Synchronisation gestoppt"
; ----------------------------------------------------------------------------------------------------------------------
; Meldung bei Fehler
Meldung_Fehler := "`n############################################################################################"
. "`n##################---Fehler bei der Synchronisation / Datensicherung!!!---##################"
. "`n############################################################################################"
; Meldung bei Erfolg
Meldung_Erfolg := "`n-------------------- Die Synchronisation / Datensicherung war erfolgreich ------------------"
; ----------------------------------------------------------------------------------------------------------------------
Dann die Schleife!
Code: Select all
USBLoop:
loop ; Die Schleifenanweisung wird staendig wiederholt, Quelle= http://www.autohotkey.com/board/topic/71642-help-with-loop-for-scanning-folders-to-check-if-files-exist/
{
If FileExist(Pruefdatei_001) ; wenn das Laufwerk K angeschlossen ist
{
RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_001_E%" -rightdir "%Ziel_K_001%",, ; Fuehre den Abgleich der Ordner durch
RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_002_E%" -rightdir "%Ziel_K_002%",, ; Fuehre den Abgleich der Ordner durch
RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_003_D%" -rightdir "%Ziel_K_003%",, ; Fuehre den Abgleich der Ordner durch
}
Else If FileExist(Pruefdatei_002) ; sonst wenn das Laufwerk M angeschlossen ist
{
RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_001_E%" -rightdir "%Ziel_M_001%",, ; Fuehre den Abgleich der Ordner durch
RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_002_E%" -rightdir "%Ziel_M_002%",, ; Fuehre den Abgleich der Ordner durch
RunWait, "%ProgPfad%" "%Spiegelung_USB_2016%" -leftdir "%Quelle_003_D%" -rightdir "%Ziel_M_003%",, ; Fuehre den Abgleich der Ordner durch
}
Else ; falls kein externes Laufwerk angeschlossen ist
{
MsgBox, 4, USB Laufwerk M oder K nicht gefunden, ###################################################`n###################################################`n`n`nUSB Laufwerk M oder K nicht gefunden`nBitte eine externe Sicherungs-Festplatte anschließen!!!`n`nNach dem Anschließen JA drücken.`n`nMöchten Sie jetzt fortfahren?`n(Drücken Sie JA oder NEIN)`n`n`n###################################################`n###################################################
IfMsgBox No
{
break ; Die Schleife wird unterbrochen
ExitApp ; Und das Script wird beendet
}
Gosub, USBLoop
}
; .. wenn eines der ersten beiden Laufwerke gefunden wurde, tue dies und jenes.....
; ---------- Verschiebe anschliessend die Logdateien -----------------------------------------------------------------------------------
FileMove, %PfadzurLogdatei%*.log, %AlteLogdateien% ; Verschiebt die Datei, ohne sie umzubenennen. Beispiel: FileMove, C:\Meine Dokumente\Liste1.txt, D:\Backup\
Break ; Die Schleife wird unterbrochen
}