バッチファイルでファイルをFTPに移動し、ソースファイルを削除する

バッチファイルでファイルをFTPに移動し、ソースファイルを削除する

PC から FTP サーバーにファイルをコピーするためのバッチ スクリプトを作成する必要があります。コピー後、ソースからすべてのファイルを削除します。そして、コピー先ディレクトリで既存のファイルをすべて上書きします。

多くの解決策を見つけましたが、どれが自分にとって最適かわかりません。たとえば、、、、、XCOPYなどのコマンドをROBOCOPY使用した、または従来の方法です。ftpcdcopymget

ROBOCOPY最良の選択肢のように思えますが、FTP を正しくサポートしていないと思います。XCOPY古い方法です...

結局は定期的にスケジュールされたタスクになります...

アドバイスありがとうございます。

答え1

robocopyxcopyローカル ファイルのみを操作します。


を使用するとftp、ローカル コマンドを使用してソース ファイルをアップロードしてから削除できますdel

ftp -s:upload.txt
del *.*

しかし、実際に正常にアップロードされたファイルだけが削除されるように実装するのは困難です。上記のバッチ ファイルは、アップロードに失敗したファイルや、 から の間に作成されたファイルがあっても、すべてのファイルを削除しftpますdel


しかし、ほとんどのサードパーティのFTPコマンドラインクライアントでは、これを簡単に行うことができます。たとえば、WinSCP FTP クライアント、次のバッチファイル(put指示スイッチ付き-delete):

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

スケジュールについては、FTP サーバーへの転送をスケジュールするための WinSCP ガイド

(私はWinSCPの作者です)

関連情報