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

日付毎に複数ファイルになっているftpのログファイルから必要な行だけを1ファイルに
まとめたいのです

set spath=d:\データ

for /d /r %spath% %%d in ( * ) do (
type "%%d\*.log"|findstr /i ".csv">>%spath%\抽出ログ.txt
)

で目的のものにかなり近いデータを抽出することができました

ex110825.log 00:01:21 172.21.111.123 [6443]created /hoge/hoge.csv 226

しかし問題がありこのデータには日付がありません
日付部分はファイル名に含まれていますex110825.logのように・・・・

なので
ex110825.log 00:01:21 172.21.111.123 [6443]created /hoge/hoge.csv 226
工夫次第でこのような形でデータを出力する事ができるでしょうか?
アドバイス下さい

A 回答 (2件)

for /d /r %spath% %%d in ( * ) do (


findstr /i ".csv" "%%d\*.log" >>%spath%\抽出ログ.txt
)

でかなり近いものを得られると思います。
ディレクトリ名を除くのだと、未テストですが

for /d /r %spath% %%d in ( * ) do (
pushd %%d
findstr /i ".csv" *.log >>%spath%\抽出ログ.txt
popd
)
    • good
    • 0
この回答へのお礼

ありがとうございます
目的のことができました

お礼日時:2011/08/26 08:30

例示されている2つの行が同じに見えるのですが、


ex110825.log

2011/08/25
みたいに整形して行に加えたいのでしょうか??

ex110825.log 00:01:21 172.21.111.123 [6443]created /hoge/hoge.csv 226

2011/08/25 ex110825.log 00:01:21 172.21.111.123 [6443]created /hoge/hoge.csv 226
    • good
    • 0
この回答へのお礼

ごめんなさい例示をコピペしたときに間違えてしまってました

00:01:21 172.21.111.123 [6443]created /hoge/hoge.csv 226


ex110825.log 00:01:21 172.21.111.123 [6443]created /hoge/hoge.csv 226

こうしたいという事です

お礼日時:2011/08/26 08:06

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