1

非常に簡単に言えば、ディレクトリ内のすべてのファイルに対してコマンドを 1 つずつ実行し、そのコマンドの出力をログに記録したいと考えています。

次のバッチ スクリプトを作成しました。

pushd C:\Program Files\Log Parser 2.2
for %%x in (C:\templogs\3\C\IISLogFiles\W3SVC3\deduped*.log) do (
   LogParser "SELECT * INTO weblog FROM %%~dpnx" -i:W3C -o:SQL -server:localhost -database:testdb -driver:"SQL Server" -createTable:OFF >> input.out   
)
popd

コマンドプロンプトで実行すると、これらのコマンドをそのままコピーペーストします。何も実行されません。何か案が?

4

2 に答える 2

0

LogParserを次のように実行するのはどうですか。

LogParser "SELECT * INTO weblog FROM C:\templogs\3\C\IISLogFiles\W3SVC3\deduped*.log" -i:W3C -o:SQL -server:localhost -database:testdb -driver:"SQL Server" -createTable:OFF 
于 2012-06-05T14:09:14.387 に答える
0

それが当てはまる唯一の状況は、次の場合です。

dir C:\templogs\3\C\IISLogFiles\W3SVC3\deduped*.log

...空白に戻ります。このパスに処理したいファイルが実際に含まれていることを再確認してください...?

システムに存在しないパスを試していない限り、いくつかの方法で試してみましたが、常に期待どおりの結果が得られました (私の場合、LogParser は認識されません)。

于 2012-06-04T11:36:28.047 に答える