很简单,我想在目录中的每个文件上执行一个命令,一次一个,并记录该命令的输出。
我写了以下批处理脚本:
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
当我在命令提示符下执行它时,所有它都会复制粘贴这些命令。什么都没有执行。任何想法?
答案 0 :(得分:0)
唯一的情况是:
dir C:\templogs\3\C\IISLogFiles\W3SVC3\deduped*.log
......会变回空白。请您仔细检查一下这条路径实际上是否包含您要处理的文件......?
我已经尝试了几种方法并且始终得到了预期的结果(LogParser在我的情况下无法识别),除非我尝试过在我的系统上不存在的路径......
答案 1 :(得分: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