コマンドプロンプトからzipファイルとtarファイルを解凍後、特定の条件を用いてGrepする

・解凍にはALZipを使う

@echo off

set alzip="c:\解凍ソフト\ALZip\ALZip.exe"
set work="C:\work"
cd %work%

pause

@echo zipファイルの解凍を始めます。解凍されたファイルはC:\work\kaitousakiに保存されます

pause
alzip -x C:\work C:\work\kaitousaki


@echo tarファイルの解凍をはじめます。解凍されたファイルはC:\work\LOGに保存されます
pause



alzip -x C:\work\kaitousaki\1.tar C:\work\LOG
alzip -x C:\work\kaitousaki\2.tar C:\work\LOG
alzip -x C:\work\kaitousaki\3.tar C:\work\LOG
alzip -x C:\work\kaitousaki\4.tar C:\work\LOG
alzip -x C:\work\kaitousaki\5.tar C:\work\LOG
alzip -x C:\work\kaitousaki\6.tar C:\work\LOG
alzip -x C:\work\kaitousaki\7.tar C:\work\LOG
alzip -x C:\work\kaitousaki\8.tar C:\work\LOG

@echo フォルダにそれぞれのサーバ名を割り当てます。
pause

cd C:\work\LOG
move C:\work\LOG\SV3010 3010
move C:\work\LOG\SV3020 3020
move C:\work\LOG\SV3030 3030
move C:\work\LOG\SV3040 3040
move C:\work\LOG\SV3050 3050
move C:\work\LOG\SV3060 3060
move C:\work\LOG\SV3070 3070
move C:\work\LOG\SV3080 3080

@echo サーバ3010から3080までを走査して、全てのサーバで04/21から04/25日までのテキストファイルを生成します。
pause

cd C:\work\LOG\3010
copy LOG.txt.04212330+LOG.txt.04222330 3010-0421
copy LOG.txt.04222330+LOG.txt.04232330 3010-0422
copy LOG.txt.04232330+LOG.txt.04242330 3010-0423
copy LOG.txt.04242330+LOG.txt.04252330 3010-0424
copy LOG.txt.04252330+LOG.txt 3010-0425

cd C:\work\LOG\3020
copy LOG.txt.04212330+LOG.txt.04222330 3020-0421
copy LOG.txt.04222330+LOG.txt.04232330 3020-0422
copy LOG.txt.04232330+LOG.txt.04242330 3020-0423
copy LOG.txt.04242330+LOG.txt.04252330 3020-0424
copy LOG.txt.04252330+LOG.txt 3020-0425

cd C:\work\LOG\3030
copy LOG.txt.04212330+LOG.txt.04222330 3030-0421
copy LOG.txt.04222330+LOG.txt.04232330 3030-0422
copy LOG.txt.04232330+LOG.txt.04242330 3030-0423
copy LOG.txt.04242330+LOG.txt.04252330 3030-0424
copy LOG.txt.04252330+LOG.txt 3030-0425

cd C:\work\LOG\3040
copy LOG.txt.04212330+LOG.txt.04222330 3040-0421
copy LOG.txt.04222330+LOG.txt.04232330 3040-0422
copy LOG.txt.04232330+LOG.txt.04242330 3040-0423
copy LOG.txt.04242330+LOG.txt.04252330 3040-0424
copy LOG.txt.04242330+LOG.txt 3040-0425

cd C:\work\LOG\3050
copy LOG.txt.04212330+LOG.txt.04222330 3050-0421
copy LOG.txt.04222330+LOG.txt.04232330 3050-0422
copy LOG.txt.04232330+LOG.txt.04242330 3050-0423
copy LOG.txt.04242330+LOG.txt.04252330 3050-0424
copy LOG.txt.04252330+LOG.txt 3050-0425

cd C:\work\LOG\3060
copy LOG.txt.04212330+LOG.txt.04222330 3060-0421
copy LOG.txt.04222330+LOG.txt.04232330 3060-0422
copy LOG.txt.04232330+LOG.txt.04242330 3060-0423
copy LOG.txt.04242330+LOG.txt.04252330 3060-0424
copy LOG.txt.04252330+LOG.txt 3060-0425

cd C:\work\LOG\3070
copy LOG.txt.04212330+LOG.txt.04222330 3070-0421
copy LOG.txt.04222330+LOG.txt.04232330 3070-0422
copy LOG.txt.04232330+LOG.txt.04242330 3070-0423
copy LOG.txt.04242330+LOG.txt.04252330 3070-0424
copy LOG.txt.04252330+LOG.txt 3070-0425

cd C:\work\LOG\3080
copy LOG.txt.04212330+LOG.txt.04222330 3080-0421
copy LOG.txt.04222330+LOG.txt.04232330 3080-0422
copy LOG.txt.04232330+LOG.txt.04242330 3080-0423
copy LOG.txt.04242330+LOG.txt.04252330 3080-0424
copy LOG.txt.04252330+LOG.txt 3080-0425


@echo サーバのディレクトリ名を環境パスに設定します
pause

set S3010=C:\work\LOG\3010
set S3020=C:\work\LOG\3020
set S3030=C:\work\LOG\3030
set S3040=C:\work\LOG\3040
set S3050=C:\work\LOG\3050
set S3060=C:\work\LOG\3060
set S3070=C:\work\LOG\3070
set S3080=C:\work\LOG\3080

@echo さきほど生成したログのテキストファイルから、日付別のINカウントのみを抽出して、新規のテキストファイルで保存します。
REM 日付〜callSV,INで終わる文字列の行だけを抽出する
pause

cd %S3010%

findstr 04/21.*callSV,IN C:\work\LOG\3010\3010-0421 > 3010-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3010\3010-0422 > 3010-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3010\3010-0423 > 3010-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3010\3010-0424 > 3010-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3010\3010-0425 > 3010-0425IN

cd %S3020%

findstr 04/21.*callSV,IN C:\work\LOG\3020\3020-0421 > 3020-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3020\3020-0422 > 3020-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3020\3020-0423 > 3020-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3020\3020-0424 > 3020-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3020\3020-0425 > 3020-0425IN

cd %S3030%

findstr 04/21.*callSV,IN C:\work\LOG\3030\3030-0421 > 3030-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3030\3030-0422 > 3030-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3030\3030-0423 > 3030-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3030\3030-0424 > 3030-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3030\3030-0425 > 3030-0425IN

cd %S3040%

findstr 04/21.*callSV,IN C:\work\LOG\3040\3040-0421 > 3040-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3040\3040-0422 > 3040-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3040\3040-0423 > 3040-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3040\3040-0424 > 3040-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3040\3040-0425 > 3040-0425IN

cd %S3050%

findstr 04/21.*callSV,IN C:\work\LOG\3050\3050-0421 > 3050-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3050\3050-0422 > 3050-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3050\3050-0423 > 3050-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3050\3050-0424 > 3050-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3050\3050-0425 > 3050-0425IN

cd %S3060%

findstr 04/21.*callSV,IN C:\work\LOG\3060\3060-0421 > 3060-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3060\3060-0422 > 3060-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3060\3060-0423 > 3060-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3060\3060-0424 > 3060-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3060\3060-0425 > 3060-0425IN

cd %S3070%

findstr 04/21.*callSV,IN C:\work\LOG\3070\3070-0421 > 3070-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3070\3070-0422 > 3070-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3070\3070-0423 > 3070-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3070\3070-0424 > 3070-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3070\3070-0425 > 3070-0425IN

cd %S3080%

findstr 04/21.*callSV,IN C:\work\LOG\3080\3080-0421 > 3080-0421IN
findstr 04/22.*callSV,IN C:\work\LOG\3080\3080-0422 > 3080-0422IN
findstr 04/23.*callSV,IN C:\work\LOG\3080\3080-0423 > 3080-0423IN
findstr 04/24.*callSV,IN C:\work\LOG\3080\3080-0424 > 3080-0424IN
findstr 04/25.*callSV,IN C:\work\LOG\3080\3080-0425 > 3080-0425IN


echo 処理が終了しました
pause


// ifとfor使ってみる。
// 手順の簡略化を考える
// バッチファイルは分割してcallで呼び出す。