okay, recht haste natürlich xD
Wenn ich dieses Script hier richtig verstehe, dann Kopiert es NUR die Dateien, die in der "!copydata.mfc" gelistet sind?
Wenn dem so ist, könnte man dann die Funktion, die dafür sorgt, das die Files in die Liste geschrieben werden, so umschreiben,
dass nur die Einträge von den Files in diese Liste eingetragen werden, die nicht älter sind als ein benutzerdefiniertes Datum?
Ich hab schon einige Varianten durchprobiert, wie ich es am besten hinbekomme, aber es kommt immer wieder der gleiche Fehler.
Hier mal der Code:
Spoiler anzeigen
If IsArray($aSource) Then
If Not IsNumber($aSource[0]) Then Return SetError(1, 0, 0)
For $i = 1 To $aSource[0]
$aMFC[7] += FileGetSize($aSource[$i])
Next
Else
$sSourcePath = $aSource
If StringRight($sSourcePath, 1) <> '\' Then $sSourcePath &= '\'
$strSize = 0
ToolTip('Bitte warten! Verzeichnis wird eingelesen!', @DesktopWidth / 2 - 100, 10)
If FileExists($sSourcePath & '!copydata.mfc') And $sDestPath <> '' Then
Local $sFile = StringTrimRight(FileRead($sSourcePath & '!copydata.mfc'), 2)
$strSize = StringLeft($sFile, StringInStr($sFile, @CRLF) - 1)
$aSource = StringSplit(StringTrimLeft($sFile, StringInStr($sFile, @CRLF) + 1), @CRLF, 1)
Else
If FileExists($sSourcePath & '!copydata.mfc') Then FileDelete($sSourcePath & '!copydata.mfc')
$aSource = _GetFilesFolder_Rekursiv($sSourcePath)
Local $hFile = FileOpen($sSourcePath & '!copydata.mfc', 2)
If $hFile <> -1 Then
FileWriteLine($hFile, $strSize)
For $i = 1 To $aSource[0]
$filetime = FileGetTime($aSource[$i])
If Not ($inputtime - ($filetime[0] & $filetime[1] & $filetime[2])) > 2 Then FileWriteLine($hFile, $aSource[$i])
Next
FileClose($hFile)
EndIf
EndIf
$aMFC[7] = $strSize
ToolTip('')
If $sDestPath = '' Then Return SetError(0, 0, 1)
EndIf
Das ist das Script vom 1. Beitrag dieses Topics, Auszug von Zeile 56 bis Zeile 85.
hinzugefügt hab ich folgende Zeilen:
$filetime = FileGetTime($aSource[$i]) ; von mir hinzugefügt
If Not ($inputtime - ($filetime[0] & $filetime[1] & $filetime[2])) > 2 Then FileWriteLine($hFile, $aSource[$i]); die auch
Die Variable $inputdate wird "Global" zu beginn des Scripts per Inputbox aufgerufen, dort trage ich ein Referenzdatum ein.
Und von allen Dateien in den Ordnern, die durchforstet werden, die nicht älter sind als 2 Tage, vom Referentdatum gesehen,
sollen kopiert werden.
Wenn ich das Script debugge wird mir weder Warnung noch Fehler angezeigt, doch führe ich das Script aus, erhalte ich immer
diese Fehlermeldung:
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\Lottich\Desktop\AutoIt v3 Script (neu).au3"
C:\Users\Lottich\Desktop\AutoIt v3 Script (neu).au3 (89) : ==> Subscript used with non-Array variable.:
If Not ($inputtime - ($filetime[0] & $filetime[1] & $filetime[2])) > 2 Then FileWriteLine($hFile, $aSource[$i])
If Not ($inputtime - ($filetime^ ERROR
>Exit code: 1 Time: 7.613
Ich komm hier einfach nicht mehr weiter, wie krieg ich diesen Fehler weg??
mfG Lottich