2012-06-03 159 views
1

非常簡單,我想對目錄中的每個文件執行一次命令,並且記錄該命令的輸出。在目錄中的所有文件上執行windows cmd命令

我寫了下面批處理腳本:

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

您是否需要首先關閉回顯或其他內容?只是猜測沒有使用Powershell –

+0

回聲on./off應該沒關係。代碼jsut不執行 – user1431394

+0

克雷格斯圖爾特的權利。如果您沒有'回顯'或使用'@',批處理文件中的所有內容都會顯示在命令提示符中。你確定它沒有執行嗎? – Litty

回答

0

時會出現這種情況的唯一情況是:

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

...會回來的空白。你能否仔細檢查一下,這個路徑實際上是否包含你想要處理的文件......?

我已經嘗試過多種方法,並始終得到了預期的結果(LOGPARSER的是不是在我的情況的認可),除非我說沒有我的系統上存在的道路上嘗試...

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 
相關問題