我想對目錄中的所有文件擴展名* .LOG執行FIND命令。我怎樣才能實現它?下面是我到目前爲止,但它不工作,我不知道問題在哪裏。在DOS FOR循環中執行FIND
for /R C:\folder\log %%i IN (*.LOG) DO (
TYPE %%i | find /I /N "ORA-" >> C:\folder\log\Errorfound.log
ECHO %%i
exit
)
我想對目錄中的所有文件擴展名* .LOG執行FIND命令。我怎樣才能實現它?下面是我到目前爲止,但它不工作,我不知道問題在哪裏。在DOS FOR循環中執行FIND
for /R C:\folder\log %%i IN (*.LOG) DO (
TYPE %%i | find /I /N "ORA-" >> C:\folder\log\Errorfound.log
ECHO %%i
exit
)
你可能想使用
findstr /R /I /N "ORA-" *.log
你也使用
dir /s /b *.log > input.txt
,然後使用該文件作爲輸入你的循環
for /f "eol=; tokens=1 delims=|" %%i in (input.txt) do (...)
一些言論
輸出文件也是,你在搜索同一個文件夾日誌。如果你運行該程序多次,輸出文件將在搜索結果中顯示出來,並增加一倍,你的輸出線
#請勿使用「type [file] | do_it」如果你可以只使用標準輸入:‘< [文件] do_it’
hi pforret,我希望打印與搜索字符串匹配的文件名。我曾嘗試使用/ M,但沒有奏效。 – cooldude
有幾個人已經給你答案要找到所有的Oracle錯誤過濾到一個日誌,運行此命令:
C:\> findstr /ir ora- C:\folder\log\*.log >> C:\folder\log\OracleErrors.txt
其中還包括在每一行中的文件名,你問 如果你只是想呼應的文件名,單獨運行這第二個命令:
C:\> findstr /irm ora- C:\folder\log\*.log
因此,你如此雄辯地說明了哪些部分「不起作用」?
你怎麼可以創建一個名稱超過8 + 3個字符的文件? – progo
找到接受通配符;' 'find/I/N「ORA-」* .log >> C:\ folder \ log \ Errorfound.log' –
嗨Alex。這不起作用。如果你已經注意到,我已經有一個%%我在其中解析文件名。 – cooldude