Verschieben von Dateien per Batchdatei auf FTP und Löschen von Quelldateien

Verschieben von Dateien per Batchdatei auf FTP und Löschen von Quelldateien

Ich muss ein Batch-Skript zum Kopieren von Dateien vom PC auf den FTP-Server erstellen. Nach dem Kopieren alle Dateien aus der Quelle löschen. Und im Zielverzeichnis alle vorhandenen Dateien überschreiben.

Ich habe viele Lösungen gefunden, bin mir aber nicht sicher, welche für mich die beste ist. Zum Beispiel XCOPYoder ROBOCOPYoder klassische Methode mit Befehlen wie ftp, cd, copy, mget, ...

ROBOCOPYscheint die beste Option zu sein, aber ich glaube, FTP wird nicht richtig unterstützt. XCOPYIst eine ältere Methode, ...

Schließlich handelt es sich um eine regulär geplante Aufgabe …

Vielen Dank für Ihre Ratschläge.

Antwort1

robocopyund xcopyarbeiten Sie nur mit lokalen Dateien.


Mit ftpkönnen Sie den Upload durchführen und anschließend die Quelldateien mit einem lokalen delBefehl löschen.

ftp -s:upload.txt
del *.*

Es ist jedoch schwierig, dies so umzusetzen, dass nur Dateien gelöscht werden, die wirklich erfolgreich hochgeladen wurden. Die obige Batchdatei löscht alle Dateien, unabhängig davon, ob der Upload einiger davon fehlgeschlagen ist oder ob einige davon zwischen und erstellt ftpwurden del.


Die meisten FTP-Befehlszeilen-Clients von Drittanbietern können dies jedoch problemlos tun. Zum Beispiel mitWinSCP FTP-Clientkönnen Sie einfach die folgende Batchdatei verwenden (mitputBefehlmit dem -deleteSchalter):

winscp.com /ini=nul /log=upload.log /command ^
    "open ftp://username:[email protected]/" ^
    "put -delete C:\local\source\path\* /remote/target/path/" ^
    "exit"

Bezüglich der Terminplanung: SieheWinSCP-Anleitung zum Planen von Übertragungen zum FTP-Server.

(Ich bin der Autor von WinSCP)

verwandte Informationen