Hallo,
ich habe das FTP-Upload Programm von Leviathan genommen und etwas angepasst, jetzt erscheint allerdings die Meldung das $file nicht deklariert ist.
Bitte Info wo der Fehler liegt.
Mußte es etwas anpassen weil mit der FTP.au3 lassen sich keine Dateien auf die Maschine mit FTP-Server übertragen, funktioniert aucht nicht mit Filezilla, nur mit der ftp.exe von Microsoft.
Upload funktioniert, nur die Fehlermeldung stört mich.
Spoiler anzeigen
C
; ------------------------------------------------------------------------------
;
;
; Language: Deutsch
; Platform: Win2k / XP
; Author: Leviathan
;
; Script Function: Ftp-Upload-Tool --> Can handle multifile-upload
;
; ------------------------------------------------------------------------------
Global $server = 'IP-Adresse'
Global $username = 'user'
Global $pass = 'kennwort'
#include <Process.au3>
#include <GUIConstants.au3>
#include <File.au3>
$maingui = GUICreate("FileUploader für die BES-Maschine", 500, 210, 193, 115)
$choosefilelabel = GUICtrlCreateLabel("Datei wählen:", 8, 40, 100, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$fileinput = GUICtrlCreateInput("", 160, 40, 233, 17)
$butt_open = GUICtrlCreateButton("Öffnen", 400, 40, 57, 17, 0)
$filenameonserverlabel = GUICtrlCreateLabel("Dateiname auf der Maschine:", 8, 72, 150, 17)
$filename = GUICtrlCreateInput("", 160, 72, 233, 17)
$butt_upload = GUICtrlCreateButton("Hochladen", 400, 72, 73, 17, 0)
$your_link = GUICtrlCreateInput("", 160, 160, 233, 17)
GUICtrlCreateLabel("your link:", 8, 160, 46, 17)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg(1)
If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] =$maingui Then Exit
IF $msg[0] = $butt_open AND $msg[1] = $maingui Then _fileopendialog()
If $msg[0] = $butt_upload AND $msg[1] = $maingui Then _buttonupload()
WEnd
Func _fileopendialog()
;Global $file = FileOpenDialog("Datei auswählen", @MyDocumentsDir, "TXT (*.txt)", 7)
Global $file = FileOpenDialog("Datei auswählen", "E:\", "TXT (*.txt)", 7)
$multifile = StringInStr($file, "|")
If $multifile <> 0 then
GUICtrlSetStyle($filename, $ES_READONLY)
GUICtrlSetData($filename, "Mehrere Dateien hochladen")
Global $multifile = 1
Else
Global $multifile = 0
GUICtrlSetData($fileinput, $file)
EndIf
EndFunc ;=> _fileopendialog
Func _buttonupload()
If $multifile = 1 then
$multifile = StringSplit($file, "|")
$link=""
For $i = 1 To $multifile[0]
$UPLOADFILE=$multifile[$i]
$fnos = StringSplit($multifile[$i], "\")
$FTPFILENAME = $fnos[$fnos[0]]
$Open = _FTPOpen('Dateien hochladen')
$Conn = _FTPConnect($Open, $server, $username, $pass)
$Ftpp = _FtpPutFile($Conn, $UPLOADFILE, $FTPFILENAME)
$Ftpc = _FTPClose($Open)
$link = $link & "172.16.140.175/h0/bes3g/DATEN/tab/"&$FTPFILENAME&" |"
Next
$link = StringTrimRight($link, 2)
GUICtrlSetData($your_link, $link)
Beep(767, 50)
GUICtrlSetStyle($filename, $GUI_SS_DEFAULT_INPUT)
GUICtrlSetData($filename, "")
Msgbox(1,"Achtung","Upload beendet!")
Else
If $multifile = 0 then
$fn = guictrlread($filename)
If $fn = "" Then
$fnos = StringSplit($file, "\")
$k = $fnos[0]
$FTPFILENAME = $fnos[$k]
;Msgbox(1,"34", $FTPFILENAME) ;test
GUICtrlSetData($filename, $FTPFILENAME)
Else
$FTPFILENAME = $fn
EndIf
GUICtrlSetStyle($filenameonserverlabel, -1)
GUICtrlSetData($filenameonserverlabel, "")
$UPLOADFILE = $file
$fnos = StringSplit($file, "\")
$Open = _FTPOpen('Was hier steht ist egal')
$Conn = _FTPConnect($Open, $server, $username, $pass)
$Ftpp = _FtpPutFile($Conn, $UPLOADFILE, $FTPFILENAME)
$Ftpc = _FTPClose($Open)
$link = "172.16.140.175/h0/bes3g/DATEN/tab/"&$FTPFILENAME
GUICtrlSetData($your_link, $link)
Msgbox(1,"Achtung","Upload beendet!")
GUICtrlSetData($fileinput, "")
GUICtrlSetData($filename, "")
EndIf
EndIf
GUICtrlSetStyle($filename, -1)
GUICtrlSetData($filename, "")
EndFunc
Alles anzeigen