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

出现这种情况的唯一情况是:

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

... 会返回空白。您能否再次检查此路径是否实际包含您要处理的文件...?

我已经尝试了几种方法并且总是得到预期的结果(在我的情况下无法识别 LogParser),除非我尝试过我的系统上不存在的路径......

于 2012-06-04T11:36:28.047 回答
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 回答