mein vorheriges Script war auf _FTP_ListToArray, deswegen habe ich mich gewundert warum das und _FTP_ListToArray2D beides nicht funktioniert
gute sache sowas zu melden, hatte nicht genug zeit die aktuelle Threads anzuschauen, dankeschön
wäre das so dann richtig?
[autoit]#include <FTPEx.au3>
#Include <Array.au3>
;If Not FileExists (@ScriptDir & "\Temp") Then DirCreate (@ScriptDir & "\Temp")
[/autoit][autoit][/autoit][autoit]$Zielpfad = @ScriptDir & "\Temp\"
$path = @ScriptDir & "\"
$server = ''
$user = ''
$pw = ''
$Open = _FTP_Open('server')
$l_FTPSession = _FTP_Connect($open, $server, $user, $pw, 1)
$aResult = 'blabla'
[/autoit][autoit][/autoit][autoit]_FTP_FileList_Rekursiv($aResult, $server & "/")
Func _FTP_FileList_Rekursiv(ByRef $aResult, $sPath, $bFolders = False)
Local $aFiles, $aFolders
If $sPath <> "" Then
_FTP_DirSetCurrent($l_FTPSession, $sPath)
$sPath = _FTP_DirGetCurrent($l_FTPSession)
EndIf
$aFiles = _Ftp_ListToArray($l_FTPSession, 2)
If IsArray($aFiles) Then
;_ArrayDisplay($aFiles)
If $aFiles[0] > 0 Then
For $i = 1 To $aFiles[0]
_ArrayAdd($aResult, $sPath & "/" & $aFiles[$i])
ConsoleWrite("File: " & $sPath & "/" & $aFiles[$i] & @CRLF)
Next
EndIf
EndIf
$aFolders = _Ftp_ListToArray($l_FTPSession, 1)
;_ArrayDisplay($aFolders)
If IsArray($aFolders) Then
If $aFolders[0] > 0 Then
For $i = 1 To $aFolders[0]
If $aFolders[$i] <> '.' And $aFolders[$i] <> '..' Then
ConsoleWrite("Folder: " & $sPath & "/" & $aFolders[$i] & @CRLF)
If $bFolders Then _ArrayAdd($aResult, $sPath & "/" & $aFolders[$i])
_FTP_FileList_Rekursiv($aResult, $sPath & "/" & $aFolders[$i], $bFolders)
EndIf
Next
EndIf
EndIf
$aResult[0] = UBound($aResult) - 1
EndFunc
_ArrayDisplay($aResult)
[/autoit][autoit][/autoit][autoit]for $i = 1 to $aResult[0]
_FTP_FileGet($l_FTPSession, $aResult[$i], $zielpfad & $aResult[$i])
Next
_FTP_Close($Open)
[/autoit]