Batch Skript Datei Kopieren auf Server?

sitacm  09.03.2023, 11:01

Kannst du etwas genauer beschreiben? Willst du von Windows aus kopieren? Ist es einmalig oder soll das ein Job werden?

Lenzer66u 
Fragesteller
 09.03.2023, 11:03

erstmal nur einmalig von meinem lokalen Verzeichnis auf einen Webserver. Danach versuche ich das von einem anderen Laufwerk auf den Webserver.

1 Antwort

wenn es nicht mit curl klappt, machs per FTP:

ftpupload.cmd

@echo off

set "ScriptName=FtpTest.txt"
set "ServerName=localhost"  &rem localhost ist  lediglich  mein localer testserver,  durch  Deinen  ersetzen
set "LoginName=DeinLoginname"
set "PassWord=DeinPasswort"

  rem FTPScript generieren
> "%ScriptName%" echo %LoginName%
>>"%ScriptName%" echo %PassWord%
>>"%ScriptName%" echo send "DeinDateiname" "optionalerOrdnerPfad/Zieldateiname"
>>"%ScriptName%" echo bye

 rem FTPScript ausführen
ftp -s:%ScriptName% %ServerName%
pause

oder:

curl -T "C:\Users\Erzesel Secure\Desktop\testfile.txt" -u "DeinLoginName:DeinPasswort " ftp://serveradresse/optionalOrdnerAufDemServer/
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Lenzer66u 
Fragesteller
 09.03.2023, 11:11

glaube nicht das das das richtige ist was ich suche. (3x das xD)

Werde übrigens auch geblockt wenn ich auf den Link gehe.

0
Lenzer66u 
Fragesteller
 09.03.2023, 12:37
@Erzesel

muss da in den Befehl nicht auch noch irgendwo der Servername auftauchen?

0
Erzesel  09.03.2023, 12:47
@Lenzer66u

In der FTP-Batch musst Du für einen Server im internet natürlich statt localhost den Server angeben ohne vorangestelltes Protokoll (ftp:\\).

0
Lenzer66u 
Fragesteller
 09.03.2023, 12:57
@Erzesel

mein Pfad der Datei ist : C:\Users\tim\Desktop\KopiertestServer.txt

und der Servername ist: logfilehelper.123-gmbh.de

0
Erzesel  09.03.2023, 14:46
@Lenzer66u

den Server gibt's nicht:

ftp logfilehelper.123-gmbh.de
logfilehelper.123-gmbh.de: Unbekannter Host.

Ich habe auch einen DNS-Lookup gemacht (es hätte ja sein können, dass eine etwaige hinterlegte IP aus irgendwelchen Gründen erloschen ist...) Es gibt weder die genannte SecondlevelDomain, noch die übergeordnete FirstlevelDomain 123-gmbh.de! Ergo ist der Server auch nicht über den Domainnamen erreichbar.

wenn Du die IP des Servers hast, kannst Du diese statt des Servernamens verwenden.

Ich weiß wirklich nicht, was Du da treibst.

0
Lenzer66u 
Fragesteller
 09.03.2023, 15:07
@Erzesel

das ist ein von und erstellter Webserver in unserer großen Firma mit über 1000 Mitarbeitern

0
Erzesel  09.03.2023, 17:35
@Lenzer66u

Dann solltest Du vielleicht mal mit dem Administrator reden. (immerhin sollte Dir das Script anzeigen, weshallb die Verbindung nicht wie erwartet funktioniert... mglw. Firewall?

das generierte Ftp-Script funktioniert auf jedem Fall.

getestet mit dem DLP Testserver für das aktuelle Passwort siehe: https://dlptest.com/ftp-test/

@echo off
set "ScriptName=FtpTest.txt"
set "ServerName=ftp.dlptest.com"
set "LoginName=dlpuser"
set "PassWord=rNrKYTX9g7z3RgJRmxWuGHbeu"

  rem FTPScript generieren
> "%ScriptName%" echo %LoginName%
>>"%ScriptName%" echo %PassWord%
>>"%ScriptName%" echo send "%userprofile%\Desktop\test.txt"
>>"%ScriptName%" echo dir 
>>"%ScriptName%" echo bye

 rem FTPScript ausführen
ftp -s:%ScriptName% %ServerName%
pause
0
Lenzer66u 
Fragesteller
 09.03.2023, 17:38
@Erzesel

wo muss denn welche variable von mir rein?

0
Erzesel  09.03.2023, 17:45
@Lenzer66u

steht doch dran...

was ist denn an:

  • set "ServerName=..."
  • set "LoginName=..."
  • set "PassWord=..."

..nicht zu verstehen?

ok ich war faul und habe den zu sendenden Dateinamen direkt eingefügt. ...aber das nachzuvollziehen kann ja nicht allzu schwer sein...

%userprofile% zeigt immer auf Dich...

0
Lenzer66u 
Fragesteller
 09.03.2023, 17:50
@Erzesel

also ja ich sehe die Datei und den Pfad welche kopiert werden soll. Aber wo ist denn der Pfad wo denn die Datei auf den Server hin soll?

0
Erzesel  09.03.2023, 17:56
@Lenzer66u

wenn Du kein Ziel angibst wir die Datei mit gleichem Namen in das Hauptverzeichnis auf dem Server kopiert.

willst Du die Datei in einen Unterordner auf dem server kopieren, musst Du zielpfad/zieldateiname als 2. Parameter für send angeben...

>>"%ScriptName%" echo send "DeinDateiname" "optionalerOrdnerPfad/Zieldateiname"
0
Lenzer66u 
Fragesteller
 10.03.2023, 08:50
@Erzesel

wenn ich die Batch ausführe kommt dieser Fehler:

> ftp: connect :Verbindung abgelehnt
ftp> ftp_user1
Ungültiger Befehl
ftp> abc123
Ungültiger Befehl
ftp> send "C:\Users\tim\Desktop\KopierTest.txt"
Nicht verbunden.
ftp> dir
Nicht verbunden.
ftp> bye
0
Erzesel  10.03.2023, 12:35
@Lenzer66u

Da der Server Deinen Verbindungsversuch ablehnt, gehen die folgenden Befehle ins Leere und sind ungültig.

Entweder ist das Verbindungslimit beim Server erreicht, die Firewall erlaubt Dir keinen Verbindungsaufbau oder der Ftp-Client auf deinem Rechner hat bereits das Limit an aktiven Verbindungen erreicht.

Da es sich um ein größeres Firmennetzwerk handelt, solltest Du mit dem Netzwerkadministrator erörtern, was zu tun ist.

0
Lenzer66u 
Fragesteller
 10.03.2023, 12:39
@Erzesel

habs schon herausgefunden das ist ein Rechtproblem was ich nicht lösen kann / darf

1