- - PR -
ftpコマンドの終了コード
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-11-22 14:29
現在バッチファイルを作成してftp転送をタスクスケジューラからスケジューリング
しようと考えています。 バッチファイルではftp実行用のコマンドファイルを出力するようしてからftpコマンド を実行しています。(putするファイル名が可変のためコマンドファイルを別途出力する ようにしています。) ftp転送終了後に転送したファイルを削除したいのですが、ftp転送が失敗した場合には ファイルを消さない処理にしたいと考えています。しかしftpのエラーコードのとり方が わからずftpサービスを止めた状態で実行してもエラーコードが0になりファイルが消さ れてしまいます。エラー発生時にファイルを消さないような処理をするにはどうしたら 良いでしょうか? バッチファイルをほとんど作ったことが無い為、わからないことだらけで申し訳ないの ですがアドバイスをお願いします。 <作成したバッチファイル> echo open IPアドレス> script.txt echo ユーザ名>> script.txt echo パスワード>> script.txt echo bin>> script.txt echo cd フォルダ名>> script.txt echo put "ファイルパス">> script.txt echo disconnect>> script.txt echo bye>> script.txt ftp -s:script.txt>>ftp.log if %ErrorLevel% NEQ 0 GOTO ERROR del "ファイルパス">>ftp.log ECHO ftp転送終了 >>ftp.log GOTO END :ERROR ECHO ftp失敗しました >>ftp.log GOTO END :End [ メッセージ編集済み 編集者: のだ 編集日時 2006-11-22 14:30 ] |
|
投稿日時: 2006-11-22 14:48
こんにちは。
FTPコマンドのリターンコードでは転送が成功したかどうかは判定できなかったと思います。 出力されるリプライコード(のださんの例だとftp.logファイルに出力されている)を拾って 判定するしかないように思います。 リプライコードの意味は次のリンク先が参考になるかと思います。 RFC959 4.2.1 Reply Codes by Function Groups http://www.faqs.org/rfcs/rfc959.html FTPのレスポンスコード一覧 http://www.atmarkit.co.jp/fnetwork/rensai/netpro10/ftp-responsecode.html |
1