3

MS-DOS (Windows 2003 R2 サーバー) には、FTP コマンドを含むバッチファイルがあります。

FTP.CMD
-------
cd d:\extracts\scripts
ftp -i -s:ftp_getfile.ftp
exit

呼び出し元のバッチファイルが処理できるように、バッチ ファイルがエラー レベル 0 ではなくエラー レベル 1 を発生させて返すようにしたいと考えています。

エラーは、FTP サーバーがダウンしていることが原因である可能性があります。現在、エラー状態が発生したことを示すものは何も返されません。

誰かアドバイスしてください。

ありがとう!:)

4

2 に答える 2

3

手遅れかもしれませんが、それは可能です。次のスクリプトを実行して、FTPスクリプトによって返されるテキストのエラーをチェックしています。FTPによって返されるエラーテキストがわかっている場合は、それを「find」コマンドで探します。ftpコマンドはftp.inpというファイルにあります。「-s」の使用方法については、FTPのヘルプを確認してください。

ftp -s:ftp.inp > ftp.log

find /I /C "not connected" ftp.log
IF NOT ERRORLEVEL 1 GOTO FTPERROR

find /I /C "not found" ftp.log
IF NOT ERRORLEVEL 1 GOTO FTPERROR

find /I /C "failed" ftp.log
IF NOT ERRORLEVEL 1 GOTO FTPERROR

REM --- no errors found
GOTO :END

:FTPERROR
REM --- error found

:END
于 2012-07-19T04:40:05.480 に答える
1

この質問に従って: バッチ スクリプトで ftp エラー コードをキャプチャする方法は?

Windows の FTP コマンドはこの動作 (または PASV モード) をサポートしておらず、基本的にほとんど役に立ちません。

代わりにNcFtpを試してみてください。無料で、小さく、移植可能で、適切なエラー コードがあります。

于 2012-05-21T21:44:18.263 に答える