Hallo zusammen,
das Script funktioniert soweit wunderbar, jedoch werden keine Ordner im Ziellaufwerk erstellt.
Ich hoffe Ihr könnt mir weiterhelfen.
Spoiler anzeigen
; Fragen zur Datensicherung
;_FileCopyEx
#Include <File.au3>
#include <Date.au3>
#include <Misc.au3>
#include '_FileCopyEx.au3'
Dim $Quell_Pf_[4][2] ; [n][0] = Pfad; [n][1] = gerundete Größe
Dim $goOut = 0
;Der Start-Wert ist die Zahl des ersten Ordners
$start = 0
;Der Ende-Wert ist die Zahl des letzten Ordners
$ende = 3
;~ ;Datumsoptionen
;~ $iWeekday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
;~ $sNewDate = _DateAdd('d', 0, _NowCalcDate())
;~ $sNewDate = StringReplace($sNewDate, "/", ".")
$Quell_LW = @UserProfileDir
$Quell_Pf_[0][0] = $Quell_LW & '\Desktop'
$Quell_Pf_[1][0] = $Quell_LW & '\Documents\'
$Quell_Pf_[2][0] = $Quell_LW & '\Downloads\'
$Quell_Pf_[3][0] = 'i:\Slike\_00000010\'
;Zielpfade anpassen
$Ziel_LW = "H:\"
$Ziel_Pf = $Ziel_LW & 'Datensicherung_' & @UserName& '\Drive_C\'
_check()
Func _check()
;Prüfung Ziellaufwerk vorhanden?
If FileExists($Ziel_LW) Then ;Prüfung Quellverzeichnisse vorhanden?
$tmp = 0
For $i = $start to $ende
If Not FileExists($Quell_Pf_[$i][0]) Then ;Fenster Quellordner fehlt
MsgBox(0, "Quellordner fehlt", "Der Ordner " & $Quell_Pf_[$i][0] & " existiert nicht. Bitte kontrollieren")
$goOut = 1
Else ;Speicherplatz ermitteln und runden
$Quell_Pf_[$i][1] = Round((DirGetSize($Quell_Pf_[$i][0])/1024 / 1024), 0)
$tmp +=($Quell_Pf_[$i][1]) ;Größe zusammenrechnen
EndIf
Next
If $goOut = 1 Then Exit ;Quellordner fehlt, dann Script beenden
$Ziel_LW_Gr_Ru = Round(DriveSpaceFree($Ziel_LW), 0)
;Funktion Größenvergleich der Quellverzeichnisse mit dem Ziellaufwerk
If $tmp > $Ziel_LW_Gr_Ru Then ;Fenster zu wenig Speicherplatz
Msgbox(0,"Zu wenig Speicherplatz vorhanden","Geben Sie mindestens " & $tmp - $Ziel_LW_Gr_Ru & " MB Speicherplatz auf " & $Ziel_LW & " frei")
Exit
Else ;Alles OK, Start-Info-Fenster einblenden
;SplashTextOn("Datensicherung Internet", "Sicherung läuft - Bitte warten", 250, 60, -1, -1, 0)
;Alles OK, Datensicherung beginnt
For $i = $start to $ende
Global $sSourceDir = $Quell_Pf_[$i][0] ; alle Dateien aus diesem Verzeichnis sollen kopiert werden
Global $sDestDir = $Ziel_Pf ; die Quelldateien sollen (mit Unterverzeichnissen) in dieses Verzeichnis kopiert werden
Global $aSourceFiles[1], $aDestDir[1]
_FileCopyEx_CreateArrays($sSourceDir, $sDestDir, $aSourceFiles, $aDestDir, '*') ; diese Funktion erstellt die Arrays für _FileCopyEx
If Not @error Then
Global $sLog = _FileCopyEx($aSourceFiles, $aDestDir, 16 + 8 + 2 + 1, 'Dateien kopieren...') ; hier erfolgt dann das kopieren
ConsoleWrite('Fehler: ' & @error & @CR)
;~ ConsoleWrite($sLog & @CR)
EndIf
Next
EndIf
EndIf
EndFunc ;==>_check
EXIT ;Scrpit beenden