Batch Skript Datei Kopieren auf Server?
Hallo ich habe einen Webserver und brauche jetzt ein Batchskript womit ich eine Lokale Datei auf diesen Webserver bekomme. Nur leider bekomme ich es einfach nicht hin. Hat wer eine Lösung für mich die ich am besten nur Kopieren muss und die dazugehörigen Variablen ändern?
Kannst du etwas genauer beschreiben? Willst du von Windows aus kopieren? Ist es einmalig oder soll das ein Job werden?
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
- https://ss64.com/nt/ftp.html
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ftp
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ftp-send_1
oder:
curl -T "C:\Users\Erzesel Secure\Desktop\testfile.txt" -u "DeinLoginName:DeinPasswort " ftp://serveradresse/optionalOrdnerAufDemServer/
In der FTP-Batch musst Du für einen Server im internet natürlich statt localhost den Server angeben ohne vorangestelltes Protokoll (ftp:\\).
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.
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
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...
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"
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
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.
glaube nicht das das das richtige ist was ich suche. (3x das xD)
Werde übrigens auch geblockt wenn ich auf den Link gehe.