Automatisierter Ordnerupload auf FTP Server
Hi zusammen,
habe den Auftrag bekommen, monatlich genau einen Ordner (Immer an gleicher Position: C:\XYZ\KundenName) inkl. Inhalt (kann Ordner UND Dateien enthalten, z.T. auch mit tieferen Pfaden) auf einen speziellen FTP Server hochzuladen.
Im Idealfall soll der Kunde nur eine Log-File zu sehen bekommen nach Abschluss bzw ein "Erfolgreich" würde mir reichen, zur Fehlerdiag wäre eine Logfile jedoch super praktisch.
Aktuell scheitere ich an den FTP Clients:
- Windows FTP Client => Kann scheinbar kein mput (batch) // Schreibt keine Logfile
- WinSCP baut es die Verbindung nicht anständig auf (batch)
- ncftp lässt keine "Stapelverarbeitung" zu. Verbindungsaufbau via Batch passt, automatisches Verzeichnis switchen bzw. Uploadbefehl scheint nur bei manueller Eingabe zu funktionieren. (batch)
Leider sind meine VB(A) Kenntnisse nicht sehr besonders um es mit einem GUI zu versehen. Im besten Fall: Manager "App" mit der man eine Config generiert (Servername, Kundenname, ...) die man in der 2ten "Kundenapp" nur noch einfügen muss. Der Kunde klickt auf "Go" bzw. ggf. via Aufgabenplaner und der Upload beginnt.
^ das wäre die schönste Lösung, den Stress muss sich aber keiner von Euch machen!
Habe schon einige Codeschnipsel von Euch (Administrator.de) verwendet jedoch ohne so richtigen Erfolg.
Ebenfalls mehrere FTP-Pages etc durchsucht und so manches zusammengebastelt aber eben auch nicht mit gewünschtem Erfolg. Irgendwo fehlt immer eine -für mich wichtige Abhängigkeit.
Hättet Ihr mir einen Ansatz? Eine Idee? Evtl sogar einen Beispielcode?
Freue mich auf eure Feedback!
Viele Grüße
Nico
habe den Auftrag bekommen, monatlich genau einen Ordner (Immer an gleicher Position: C:\XYZ\KundenName) inkl. Inhalt (kann Ordner UND Dateien enthalten, z.T. auch mit tieferen Pfaden) auf einen speziellen FTP Server hochzuladen.
Im Idealfall soll der Kunde nur eine Log-File zu sehen bekommen nach Abschluss bzw ein "Erfolgreich" würde mir reichen, zur Fehlerdiag wäre eine Logfile jedoch super praktisch.
Aktuell scheitere ich an den FTP Clients:
- Windows FTP Client => Kann scheinbar kein mput (batch) // Schreibt keine Logfile
- WinSCP baut es die Verbindung nicht anständig auf (batch)
- ncftp lässt keine "Stapelverarbeitung" zu. Verbindungsaufbau via Batch passt, automatisches Verzeichnis switchen bzw. Uploadbefehl scheint nur bei manueller Eingabe zu funktionieren. (batch)
Leider sind meine VB(A) Kenntnisse nicht sehr besonders um es mit einem GUI zu versehen. Im besten Fall: Manager "App" mit der man eine Config generiert (Servername, Kundenname, ...) die man in der 2ten "Kundenapp" nur noch einfügen muss. Der Kunde klickt auf "Go" bzw. ggf. via Aufgabenplaner und der Upload beginnt.
^ das wäre die schönste Lösung, den Stress muss sich aber keiner von Euch machen!
Habe schon einige Codeschnipsel von Euch (Administrator.de) verwendet jedoch ohne so richtigen Erfolg.
Ebenfalls mehrere FTP-Pages etc durchsucht und so manches zusammengebastelt aber eben auch nicht mit gewünschtem Erfolg. Irgendwo fehlt immer eine -für mich wichtige Abhängigkeit.
Hättet Ihr mir einen Ansatz? Eine Idee? Evtl sogar einen Beispielcode?
Freue mich auf eure Feedback!
Viele Grüße
Nico
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 333770
Url: https://administrator.de/contentid/333770
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
Aktiv FTP?
Passiv FTP?
Firewalls?
FTP Proxy?
Wast hast du bisher?
Gruß,
Peter
Zitat von @nepixl:
- Windows FTP Client => Kann scheinbar kein mput (batch) // Schreibt keine Logfile
Braucht es denn mput? Kannst ja mit Schleifen....- Windows FTP Client => Kann scheinbar kein mput (batch) // Schreibt keine Logfile
- WinSCP baut es die Verbindung nicht anständig auf (batch)
Warum wird die Verbindung nicht anständig aufgebaut? Was passt an der unanständig aufgebauten Verbindung nicht?Aktiv FTP?
Passiv FTP?
Firewalls?
FTP Proxy?
Der Kunde
Dein Kunde?Irgendwo fehlt immer eine -für mich wichtige Abhängigkeit.
Welche da wären?Wast hast du bisher?
Gruß,
Peter
- WinSCP baut es die Verbindung nicht anständig auf (batch)
Nö, wenn man's richtig macht null Problem! Ohne Fehlermeldung kann man dir nicht helfen!Gruß p.
WinSCP verbindet mit allem ... man muss es nur richtig verwenden.
FTP-Massenupload über Batch (CMD-Script) und Erstellung eines Log-Files
Windows Ereignisse Tracen und automatisieren?
FTP-Massenupload über Batch (CMD-Script) und Erstellung eines Log-Files
Windows Ereignisse Tracen und automatisieren?
Zitat von @nepixl:
Bereits probiert, da habe ich aber das Problem dass ich nicht weiter wie bis nach den Connect komme.
Geschichten wie cd schlagmichtod oder mput geht nur bei manueller Eingabe ins CMD, leider fragt er die Batch nicht weiter ab wenn der Connect erfolgreich war.
Leider macht er ab cd nicht weiter..
ncftpput? ncftpget?
Bereits probiert, da habe ich aber das Problem dass ich nicht weiter wie bis nach den Connect komme.
Geschichten wie cd schlagmichtod oder mput geht nur bei manueller Eingabe ins CMD, leider fragt er die Batch nicht weiter ab wenn der Connect erfolgreich war.
start.bat
> ncftpls -u USERNAME -p KENNWORT ftp://ftp.test.com
> cd WSS
> mput -r C:\WSS\v3\KUNDENNAME\
>
Leider macht er ab cd nicht weiter..
Das hat aber überhaupt mnichts mit ncftpget und ncftpput zu tun. Du bennutzt da ganz andere Kommandos.
Einfach
ncftpput -u user -p password -R ftp://ftp.test.com /WSS C:\WSS\v3\KUNDENNAME\
Hast Du überhaupt gelesen, was ich verlinkt habe?
lks
Moin,
einfach den Returncode auswerten und in eine Logdatei schreiben:
ncftpput returns the following exit values:
0 Success.
1 Could not connect to remote host.
2 Could not connect to remote host - timed out.
3 Transfer failed.
4 Transfer failed - timed out.
5 Directory change failed.
6 Directory change failed - timed out.
7 Malformed URL.
8 Usage error.
9 Error in login configuration file.
10 Library initialization failed.
11 Session initialization failed.
lks