FTP からローカル システムへのファイル転送

FTP からローカル システムへのファイル転送

FTP からファイルをコピーして、ローカル システムに貼り付けたいです。これをバッチ ファイルで実行したいです。1 週間試していますが、解決策が見つかりません。どなたか助けてください。

これが私の実際の仕事です


「Friday.bat」という名前のファイルをコピーしたいftp://172.16.3.132(ユーザー名とパスワードを使用) そのため、以下のコーディングを使用します。

@echo off
@ftp -i -s:"%~f0"&GOTO:EOF
open 172.16.3.132
mmftp
((((pasword entered here)))))
binary
get Friday.bat 
pause

結果:


ftp> @echo off
ftp> @ftp -i -s:"%~f0"&GOTO:EOF
Invalid command.
ftp> open 172.16.3.132
Connected to 172.16.3.132.
220 Welcome to ABL FTP service.
User (172.16.3.132:(none)):
331 Please specify the password.

230 Login successful.
ftp> binary
200 Switching to Binary mode.
ftp> get Friday.bat
200 PORT command successful. Consider using PASV.
550 Failed to open file.
ftp> pause

最後に、Friday.bat という名前のファイルが 0 バイトでローカル システムにコピーされましたが、開くことができません。

答え1

お気に入りのFTPクライアントでファイルを手動でダウンロードできるかどうかを確認してください。しない動作しない場合は、問題はサーバー側にあるようです。何らかの理由(権限など)でFTPサーバーがファイルにアクセスできない可能性があります。するバッチ ファイルを実行するプロセスに現在のディレクトリへの書き込み権限があることを確認するか、ダウンロードする前にディレクトリを変更してください。

プロは一時ディレクトリを作成し、そこでファイルを処理します (ただし、このディレクトリをロックダウンし、後でクリーンアップすることを忘れないでください)。

答え2

ftp は 2 行目が気に入らないのですが、これは必要ですか?

エラー 550ファイルが存在しないか、ファイルに対する適切な権限がない場合にスローされます。ファイルに対するグローバル読み取り権限があるか、ファイルへのuserアクセス権を持つリモート マシンに既知のローカル ユーザーとしてコマンドを使用してログインしていることを確認してください。これらの条件が正しいことを確認してください。

そうすれば問題は解決するはずです。

関連情報