dポイントプレゼントキャンペーン実施中!

以下のようなバッチファイルを作成しました

ftp -s:ftpcmd.txt > ftplog.txt
FIND /i "226 Transfer complete" ftplog.txt >NUL
exit /b %ERRORLEVEL%

ftpcmd.txt
open hoge
anonymous
hoge
prompt
cd /xxxx/
put test.txt
quit

こうする事でftp送信が正常に終了したかどうかを
exitの終了コードで判断しようとしていたのです
バッチファイルを手動で動作させたところ成功です
しかしこのバッチファイルを
Webサーバのサーブレット(javaプログラム)から
動作させるとftplog.txtの出力結果がなぜか

プログラムから実行した時のftplog.txt
User (hoge:(none)): open hoge



prompt
cd /xxx/
put test.txt
quit

こんな結果になってしまうんです
あれれ?ftpコマンドが出力するメッセージがリダイレクトされない
んです
手動でこのバッチファイルを実行した時は
以下のようになります
226 Transfer complete.
のメッセージがサーブレットからバッチファイルを実行しても
ftplogファイルに出力されるように
したいのですが
何かいい方法はないでしょうか?

手動実行した場合のftplog.txt
ftp> Connected to hoge

open hoge
220 Microsoft FTP Service
User (hoge:(none)):
331 Anonymous access allowed, send identity (e-mail name) as password.

230 Anonymous user logged in.
ftp> Interactive mode Off .

ftp> prompt
cd /xxx/
250 CWD command successful.
ftp> put test.txt
200 PORT command successful.
150 Opening ASCII mode data connection for test.txt.
226 Transfer complete.
ftp: 59523 bytes sent in 0.00Seconds 59523000.00Kbytes/sec.

ftp> quit
221

A 回答 (1件)

標準エラーをリダイレクトしたらどうなります?

    • good
    • 0
この回答へのお礼

標準エラーをリダイレクトとは
ftp -s:ftpcmd.txt > ftplog.txt 2>&1
でしょうか?
これで実行したら動作しなかったです

ftp -v -s:ftpcmd.txt > ftplog.txt

のように-vオプションつけたら出力されるようになりました

お礼日時:2010/03/18 15:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています