worker26
Goto Top

Ordner auf FTP Server erstellen und csv Datei hochladen

Guten Tag face-smile

Ich möchte eine Batch Datei schreiben, bei der ich eine csv Datei von hier: C:\Users
auf einen FTP Server kopiere und danach von C:\Users lösche.
Am FTP Server möchte ich zuerst ein Verzeichnis anlegen in dem die csv Datei gespeichert werden soll.

Mein Code:

option confirm off
open ftp://USERNAME:PASSWORD@DOMAIN
option transfer binary
mkdir NeuerOrdner
put C:\Users\*.csv /REMOTE /NeuerOrdner

Zur Zeit speichert es mir den TestOrdner unter C:\Users
unbenannt

Content-ID: 665067

Url: https://administrator.de/contentid/665067

Ausgedruckt am: 19.11.2024 um 09:11 Uhr

MrCount
MrCount 24.03.2021 um 10:58:55 Uhr
Goto Top
Servus,

vielleicht hilft dir das ja: https://superuser.com/questions/914595/how-do-i-upload-a-file-to-an-ftp- ...

Dort werden die FTP-Commands in eine separate Datei gespeichert und dann per Batch mit dem ftp-Befehl ausgeführt.
Worker26
Worker26 24.03.2021 aktualisiert um 11:28:58 Uhr
Goto Top
Habe jetzt ein Text File mit folgendem Inhalt:

open DOMAIN
USERNAME
PASSWORD

mkdir NeuerOrdner
binary
mput C:\Users\*.csv NeuerOrdner

und eine Batch Datei mit folgendem Inhalt:

ftp -s:ftp.txt
pause

Er sagt mir in der Konsole zwar, dass das Verzeichnis "Neuer Ordner" angelegt wurde, jedoch sehe ich ihn nicht bei FileZilla.
Des weiteren erkennt er meine csv Datei nicht. Er sagt, dass er die Datei nicht gefunden hat.
SlainteMhath
SlainteMhath 24.03.2021 um 11:49:10 Uhr
Goto Top
Moin,

folgende Anpassungen würde ich an deinem Script vornehmen:

mkdir NeuerOrdner
cd NeuerOrdner
lcd C:\Users
mput *.csv 

lg,
Slainte
MrCount
MrCount 24.03.2021 um 11:55:39 Uhr
Goto Top
du musst per cd in das Verzeichnis auf dem FTP, dann nur noch mput "c:\Users\*.csv"

...
cd NeuerOrdner
mput "c:\Users\*.csv"  
...

(ungetestet)
Worker26
Worker26 24.03.2021 aktualisiert um 12:44:41 Uhr
Goto Top
Erstmal danke für die Hilfe face-smile

ich habe es jetzt so geändert:
mkdir NeuerOrdner
cd NeuerOrdner
lcd C:\Users
mput "C:\Users\*.csv"

die Eingabeaufforderung wartet jetzt jedoch auf eine Art Eingabe, ob ich diese Datei auswählen möchte, wie bestätige ich das?
unbenannt2_li
MrCount
MrCount 24.03.2021 aktualisiert um 13:10:23 Uhr
Goto Top
Entweder mit dem Parameter -i beim Aufruf von ftp, oder mit einem

...
prompt
...

vor dem mput

https://www.serv-u.com/ftp-server-windows/commands
Worker26
Worker26 24.03.2021 aktualisiert um 15:00:33 Uhr
Goto Top
Ich hab es jetzt mit -i beim Aufruf von ftp gemacht, jedoch erscheint nun folgende Fehlermeldung:
500 PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this 503 Bad sequence of commands.

Ich habe es jetzt mit quote pasv über dem mput befehl versucht, jedoch hilft dies auch nicht face-sad
Btw. ich kann auch den put Befehl benutzen oder? Ich sende ja nur eine Datei.
MrCount
MrCount 24.03.2021 um 15:41:48 Uhr
Goto Top
Wie sieht denn dein Script aktuell aus?
Worker26
Worker26 24.03.2021 um 15:46:04 Uhr
Goto Top
So sieht es aktuell aus:

open DOMAIN
USERNAME
PASSWORD


mkdir NeuerOrdner
cd NeuerOrdner
lcd "C:\Users"
quote pasv
mput "C:\Users\*.csv"

bye


zweites:

ftp -i -s:ftp.txt
pause
MrCount
MrCount 24.03.2021 um 16:06:03 Uhr
Goto Top
woher kommt denn das

quote pasv
?


Sollte eigentlich so sein:
...
lcd "C:\Users"  

prompt

mput "C:\Users\*.csv"  
...
Worker26
Worker26 24.03.2021 um 16:11:35 Uhr
Goto Top
Das quote pasv hab ich bei der Suche nach einer Lösung gefunden.

Ich hab es jetzt mit prompt gemacht, jedoch wird der Fehler noch angezeigt.

Hier nochmal wie es bei mir aussieht (anderer Pfad, aber das macht ja keinen Unterschied)
unbenannt3
MrCount
MrCount 24.03.2021 um 16:42:05 Uhr
Goto Top
dann nutze mal beides, also:

...
quote pasv
prompt
mput ....
Worker26
Worker26 25.03.2021 um 08:06:26 Uhr
Goto Top
Erst mal guten Morgen face-smile

Leider kommt bei mir nun die Fehlermeldung, dass keine Datenverbindung zur Übertragung aufgebaut werden konnte.
unbenannt4
MrCount
Lösung MrCount 25.03.2021 um 09:26:59 Uhr
Goto Top
Moin!
Sieht so aus als ob die Firewall die Verbindung blockiert... oder die Gegenseite unterstützt den passiven Mode nicht.

Versuchs mal mit WinSCP ( https://winscp.net/eng/index.php )
Beispiel: https://winscp.net/eng/docs/scripting#example
Worker26
Worker26 25.03.2021 um 10:42:14 Uhr
Goto Top
Danke, dann werde ich das mal versuchen face-smile
Mitchell
Mitchell 30.03.2021 aktualisiert um 17:53:20 Uhr
Goto Top
Lösung siehe hier

Mfg
Mitchell