Advertisement
Guest User

Untitled

a guest
Sep 14th, 2017
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 5.27 KB | None | 0 0
  1. #region ;**** Directives created by AutoIt3Wrapper_GUI ****
  2. #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
  3. #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
  4. #include <FTPEx.au3>
  5. #include <File.au3>
  6. #include <Array.au3>
  7.  
  8. Opt('MustDeclareVars', 1)
  9.  
  10. _example1()
  11. _example2()
  12.  
  13. Func _example1()
  14.     ;lädt eine Datei hoch
  15.     Local $s_ServerName = 'guest.autobert.myplace.net' ;dieser Server existiert nicht
  16.     Local $s_Username = "guest"
  17.     Local $s_Password = "TopSecret"
  18.  
  19.  
  20.     Local $s_LocalFile = @ScriptDir & "\_FTP_FilePut3.au3"
  21.     Local $s_RemoteFile = "/FTPTestfiles/_FTP_FilePut3.au3"
  22.     Local $i_Passive = 0
  23.     Local $l_InternetSession, $l_FTPSession, $errOpen, $errFTP
  24.  
  25.     $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
  26.     $errOpen = @error
  27.     If Not @error Then
  28.         $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
  29.         $errFTP = @error
  30.         If Not @error Then
  31.             If _FTP_FilePut($l_FTPSession, $s_LocalFile, $s_RemoteFile) Then
  32.                 ConsoleWrite("Upload: erfolgreich" & @CRLF)
  33.             Else
  34.                 ConsoleWrite("Upload: fehlgeschlagen " & " " & @error & @CRLF)
  35.             EndIf
  36.         Else
  37.             MsgBox(0, "Connect", "fehlgeschlagen")
  38.             ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
  39.         EndIf
  40.     Else
  41.         MsgBox(0, "Open", "fehlgeschlagen")
  42.         ConsoleWrite("Open " & " " & $errOpen & @CRLF)
  43.     EndIf
  44.     _FTP_Close($l_InternetSession) ;schliesst die FTP-Sitzung
  45. EndFunc   ;==>_example1
  46.  
  47. Func _example2()
  48.     ;lädt alle Dateien eines Ordner mithilfe  _FTP_FilePut auf den FTP-Server (noch ohne Unterordner)
  49.     Local $s_ServerName = 'guest.autobert.myplace.net' ;dieser Server existiert nicht
  50.     Local $s_Username = "guest"
  51.     Local $s_Password = "TopSecret"
  52.  
  53.     Local $s_LocalFolder = @ScriptDir ;das angegebene Verzsichnis muss existieren
  54.     Local $s_RemoteFolder = "/FTPTestfiles/Test/" ;dieser Ordner wird notfalls angelegt
  55.     Local $i_Passive = 0 ;manche Server benötigen hier eine 1 für Passiven Modus
  56.     Local $l_InternetSession, $l_FTPSession, $errOpen, $errFTP
  57.  
  58.     $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
  59.     $errOpen = @error
  60.     If Not @error Then
  61.         $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
  62.         $errFTP = @error
  63.         If Not @error Then
  64.             _FolderPut($l_FTPSession, $s_LocalFolder, $s_RemoteFolder, "_FTP*3.au3") ;kopiert alle au3 Dateien
  65.             If Not @error Then
  66.                 ConsoleWrite("_FolderPut: " & @extended & " Dateien erfolgreich übertragen" & @CRLF)
  67.             Else
  68.                 ConsoleWrite("_FolderPut Fehler:" & @error & " " & @extended & @CRLF)
  69.             EndIf
  70.         Else
  71.             MsgBox(0, "Connect", "fehlgeschlagen")
  72.             ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
  73.         EndIf
  74.     Else
  75.         MsgBox(0, "Open", "fehlgeschlagen")
  76.         ConsoleWrite("Open " & " " & $errOpen & @CRLF)
  77.     EndIf
  78.     _FTP_Close($l_InternetSession) ;schliesst die Sitzung
  79. EndFunc   ;==>_example2
  80.  
  81. Func _FolderPut($l_FTPSession, $s_LocalFolder, $s_RemoteFolder, $sFilter = "*")
  82.     Local $bDebugFP = True ;um Debuginfos an- auszuschalten
  83.     If $bDebugFP Then ConsoleWrite("Lokal " & $s_LocalFolder & " Remote " & $s_RemoteFolder & @CRLF)
  84.     If StringRight($s_RemoteFolder, 1) <> "/" Then $s_RemoteFolder &= "/"
  85.     If StringLeft($s_RemoteFolder, 1) <> "/" Then $s_RemoteFolder = "/" & $s_RemoteFolder
  86.     Local $aPathSplit = StringSplit($s_RemoteFolder, "/")
  87.     _ArrayDisplay($aPathSplit)
  88.     For $i = 2 To $aPathSplit[0] - 1 ;Element 1 ist leer ebenso letztes durch StringTrim.....
  89.         If $bDebugFP Then ConsoleWrite($aPathSplit[$i])
  90.         _FTP_DirSetCurrent($l_FTPSession, $aPathSplit[$i])
  91.         If @error Then
  92.             If $bDebugFP Then ConsoleWrite(@TAB & "wird versucht anzulegen" & @TAB)
  93.             _FTP_DirCreate($l_FTPSession, $aPathSplit[$i])
  94.             _FTP_DirSetCurrent($l_FTPSession, $aPathSplit[$i])
  95.             If @error Then
  96.                 If $bDebugFP Then ConsoleWrite("Fehler " & @error & @CRLF)
  97.                 SetError(1, $i)
  98.                 Return 0
  99.             Else
  100.                 If $bDebugFP Then ConsoleWrite("OK" & @CRLF)
  101.             EndIf
  102.         Else
  103.             If $bDebugFP Then ConsoleWrite("/")
  104.         EndIf
  105.     Next
  106.     If $bDebugFP Then ConsoleWrite(@CRLF & "Aktuelles Verzeichnis" & _FTP_DirGetCurrent($l_FTPSession) & @CRLF)
  107.     Local $aUpload_Files = _FileListToArray($s_LocalFolder, $sFilter, 1)
  108.     Local $iErrors = 0
  109.     Local $iSuccess = 0
  110.     For $i = 1 To $aUpload_Files[0]
  111.         If $bDebugFP Then ConsoleWrite($aUpload_Files[$i] & @TAB)
  112.         If _FTP_FilePut($l_FTPSession, $aUpload_Files[$i], $aUpload_Files[$i]) Then
  113.             $iSuccess += 1
  114.             If $bDebugFP Then ConsoleWrite("OK" & @CRLF)
  115.         Else
  116.             $iErrors += 1
  117.             If $bDebugFP Then ConsoleWrite("Fehler: " & @error & @CRLF)
  118.         EndIf
  119.     Next
  120.     If $iErrors > 0 Then
  121.         SetError(2, $iErrors, 0)
  122.     Else
  123.         SetExtended($iSuccess)
  124.     EndIf
  125. EndFunc   ;==>_FolderPut
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement