2016-12-16 192 views
0

我想問一下在具有條件的文本文件中如何找到字符串(3或5個字)。如果發現字符串,然後某個變量將成爲等於1在文本文件上查找字符串 - 批處理文件

方案

我有一個批處理文件將運行的每個上午12:01。這個批處理文件裏面有多個命令。請看下面:

  1. 尾記錄
  2. 日誌檢查
  3. Restarter的

尾記錄 - 這是第一個函數將在批處理文件運行。它將尾部記錄服務器並將日誌放在server.log中,並創建另一個日誌文件,該日誌文件將包含日誌的最後兩行(temp.log)

日誌檢查器 - 尾部記錄器之後,此功能將運行並會在temp.log中找到某個單詞。

例子:

這會找到一個字符串「任務完成」,如果檢查發現這個它將使從集合X = 0變量設置X = 1。

謝謝。

回答

1

findstr /?從提示符會引導你。

`findstr /L /c:"The task complete" "logfilename" >nul 

將設置errorlevel到0,如果發現1否則(嚴格不-0,否則如 「filemissing」 產生錯誤級別= 2,我相信)

+0

檢查這樣的:'如果ERRORLEVEL 1(回波ERRORLEVEL是1或更高)&(goto:end)' – Marichyasana

+0

我很少看到FINDSTR返回0或1以外的任何東西。我測試了丟失的文件大小寫以及其他許多內容。當正則表達式包含15個以上的字符類術語(一個非常討厭的錯誤,需要用戶交互來消除彈出窗口)時,我看到的唯一的其他返回值是255。 – dbenham

+1

@dbenham:衝突選項,例如'FINDSTR/l/r「abc」「%filename1%」' – Magoo

相關問題