2

私はこのログパーサーのジレンマで行き詰まっています。だからここしか行くところがない。

バッチファイル ( disktrend.bat )

@echo off    
pushd "Program Files (x86)\Log Parser 2.2\"
for /f "tokens=1,2 delims=," %%A in (d:logs\serverdrives.txt) do @logparser -i:tsv file:D:\logs\disktrend.sql?sd=%%A -o:chart -charttype:line > D:\logs\%%B.gif  

SQL ファイル ( disktrend.sql )

SELECT date,pfree using to_int(sub(to_real(100),to_real(replace_chr(free,'%','')))) as pfree,replace_chr(strcat(server,drive),':','') AS serverdrive from d:\logs\compiled\*.log where serverdrive =%sd%  

リストファイル ( serverdrives.txt )

'SERV06F',SERV06F  
'SERV00F',SERV00F

ログファイルのサンプルコンテンツ (* .log )

Date    Server  Drive   Free    Free Space  Total
20120914    SERV06      F:  79.55%  27619.02MB  34719.82MB
20120914    SERV00      F:  99.73%  34630.37MB  34723.81MB  

バッチ スクリプトを実行すると、以下のエラーが発生します。

エラー

Invalid output filename ""   
Invalid output filename ""  

これを解決する方法を知っている人はいますか?

4

1 に答える 1

1

夕食を食べていると、突然答えが返ってきました。
バッチファイルとSQLファイルを編集しました。
下記参照。

バッチファイル(disktrend.bat

@echo off    
pushd "Program Files (x86)\Log Parser 2.2\"
for /f "tokens=1,2 delims=," %%A in (d:logs\serverdrives.txt) do @logparser -i:tsv file:D:\logs\disktrend.sql?sd=%%A+filen=%%B -o:chart -charttype:smoothline -q:off -stats:off

SQLファイル(disktrend.sql

SELECT to_string(date),pfree using to_int(sub(to_real(100),to_real(replace_chr(free,'%','')))) as pfree,replace_chr(strcat(server,drive),':','') AS serverdrive into d:\logs\%filen%.gif from d:\logs\compiled\*.log where serverdrive =%sd% 
于 2012-10-08T14:34:46.730 に答える