Zum Inhalt springen

Datei per Kommandozeile auf FTP-Server lade


philipp-schoene

Empfohlene Beiträge

Guten Tag,

Wie kann ich beim Upload von Dateien mittels FTP (Windows Kommandozeile) eine Datei umbenennen? Es soll das aktuelle Datum anhängen (in dem Format dateiname_YYYY-MM-DD)

Die Datei habe ich schon auf dem Server geladen. Nur mit dem Umbennen das klappt nicht.

open IP

user Zugangsdaten

cd /

cd Pfad

put Pfad/Datei

rename datei datei_YYYY-MM-DD

quit

beim rename habe ich das Problem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du solltest deine Fragen genauer stellen, denn ich hatte anhand deines Posts verstanden, dass der rename an sich nicht klappt und nicht dass das "aktuelle Datum" dein Problem ist.

Anyway - mir ist zumindest keine "date"-Funktion als ftp-Kommando bekannt, sondern nur die File Modification Time, welche dich aber nicht weiterbringt.

> Du wirst das Datum vorher ermitteln und als Variable übergeben müssen.

Hier mal ein Beispiel zum ermitteln des Datums unter Windows.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum benennst Du nicht erst die Datei um und lädst diese hoch?

Wäre sehr umständlich.

> Du wirst das Datum vorher ermitteln und als Variable übergeben müssen

Ich ermittle in der Batch das Datum und übergebe das dann an das FTP-Script. Dort wird aber nicht der Inhalt der Variable gesetzt. aber das Datum wird korrekt ermittelt, das habe ich getestet. die Datei wird zwar umbenannt, aber in den Variablen Namen. Also das Datum wird nicht an das script vom FTP übergeben.

P.S. Ich fliege ständig aus dem Forum. Habe diesen Beitrag schon das dritte mal geschrieben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das wäre sehr umständlich.

warum das?

ob es nun heißt

open IP

user Zugangsdaten

cd /

cd Pfad

put Pfad/Datei

rename datei datei_YYYY-MM-DD

quit

oder aber
set jahr=%date:~-4%

set monat=%date:~-7,2%

set tag=%date:~-10,2%

copy test.txt test%jahr%%monat%%tag%.txt

open IP

user Zugangsdaten

cd /

cd Pfad

put Pfad/test%jahr%%monat%%tag%.txt

quit

ist doch egal. aber es kann ja sein, dass die variablenübergabe an das ftp-mopped nicht klappt. gut. warum dann nicht das eigentliche ftp-skript zur laufzeit generieren? mit anderen worden:
set jahr=%date:~-4%

set monat=%date:~-7,2%

set tag=%date:~-10,2%


echo "open IP" > batchrun.cmd

echo "user Zugangsdaten" >> batchrun.cmd

echo "cd /" >> batchrun.cmd

echo "cd Pfad" >> batchrun.cmd

echo "put Pfad\test%jahr%%monat%%tag%.txt" >> batchrun.cmd

echo "quit" >> batchrun.cmd


start batchrun.cmd

Ich weiß: nicht schön. Aber billig. :D

Das Prinzip sollte tun.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, michaelmeier, deine Idee hat mich weiter gebracht. Ich habe es hier zu Hause laufen, nun muss es auf meinem Dienstrechner zum laufen bringen. Wird aber kein Problem sein.

Ich weiß dass es hier ein Windowsforum ist, aber es bezieht sich ja auf die Beiträge: Wie auswendig ist es das Script unter der Linuxshell zum laufen zu bringen? (Und als Cronjob einzurichten)

Link zu diesem Kommentar
Auf anderen Seiten teilen

...davon beherrsche ich nur PHP mehr oder weniger gut.

Es ist so, dass die Windowsrechner möglichst auch keine Dienste im Hintergrund laufen haben sollten, die sie nur ab und an brauchen um das PHP-Script laufen zu lassen. (Ich denke an Apache, da ich damit PHP nur eingesetzt habe.) Denn die Rechner sind teilweise nicht die schnellsten und werden auch als Arbeitsplatzrechner benutzt. Die andere Seite, die du jetzt wahrscheinlich meinst, kenne ich von PHP nicht. das das script nicht ständig geändert werden soll, wäre es nicht so tragisch, wenn ich die anpassen müsste.

Würdet ihr mir hier sagen, wie ich das Script für Linux schreiben müsste und wie ich es dann einbinde? Oder muss ich mich dann ans Linuxforum wenden?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist so, dass die Windowsrechner möglichst auch keine Dienste im Hintergrund laufen haben sollten, die sie nur ab und an brauchen um das PHP-Script laufen zu lassen. (Ich denke an Apache, da ich damit PHP nur eingesetzt habe.)

Du benötigst um PHP Scripte auszuführen keinen Apache! Du benötigst nur den Interpreter. Apache selbst hat diesen auch nicht on-board, sondern ruft ihn anhand des Mimetyps auf. Bitte mach Dich diesbezüglich einmal firm.

Du benötigst ebenfalls für Python und Java entsprechende Interpreter. Wenn Du aber crossplattform die Anwendung haben willst, aber zusätzlich keinen Interpreter installieren möchtest, dann bliebe Dir noch die Möglichkeit C++ mit QT als eigenständige kompilierte Anwendung. QT bietet passende Netzwerkfunktionen, um z.B. FTP anzusteuern. Du musst den Code dann nur einmalig für jedes System kompilieren

Zu Linux: man ftp und BASH Programming - Introduction HOW-TO

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...