- 締切済み
自動ftpバッチで転送速度をろぐに出す方法
こんにちは windows2008で自動ftpバッチファイルを作成ししています。 自動ftpは出来るのですが、転送速度がログに出力されません。 具体的には手動でftpすると以下のように表示される「24000.00KB/秒」という部分を ログに出したいです。 200 PORT command successful. 150 Opening ASCII mode data connection for autoexec.bat. 226 Transfer complete. ftp: 24 バイトが送信されました 0.00秒 24000.00KB/秒。 そもそもログに表示させることはできないのでしょうか? お分かりの方、お教えください。 今作っているバッチファイルはこんな感じです。 ftpauto.txt ---------------- ftp -s:ftpcmd.txt>>ftp.log 2>&1 ftpcmd.txt ---------------- open XX.XX.XX.XX user-id Password bin cd / lcd C:\ put XXX disconnect bye ------------------------------------ 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kteds
- ベストアンサー率42% (1882/4440)
No.2の追記です。 肝心の検索のパイプ処理が抜けていました。 ftp -i -s:ftpcmd.txt | findstr " ftp: " >temp.txt
- kteds
- ベストアンサー率42% (1882/4440)
No.1の追記です。 -i オプションでインタラクティブ モードをオフにして "ftp: " で検索して(スペース含めて5文字) temp.txt に出力してはどうですか。 ftp -i -s:ftpcmd.txt >temp.txt 取得した文字列(例:strline)から tokens= を使って 24000.00Kbytes/sec. を取り出します。 数値(speed)だけ使いたい場合は set コマンドにて set speed=%strline:Kbytes/sec.=% を使って 24000.00 を取得します。 --- 以上、応用してみてください。
- kteds
- ベストアンサー率42% (1882/4440)
単純にappendモードのリダイレクトではダメなのでしょうか。 ftp -s:ftpcmd.txt>>ftp.log あとはlogから"KB/秒"を判定して文字列を切り出せばいいと思いますが・・・
お礼
ご回答ありがとうございます。 自動でftpバッチを動かすと「KB/S」が表示されないのです。 手動で実施しないと出力されないというのが困っているところです。 追加でお教えいただけると助かります。
お礼
有難うごさいました。 うまく稼働させることができました。