iT邦幫忙

1

bat抓txt字串及比對

  • 分享至 

  • xImage

大家好
小弟最近想寫一個批次檔簡化每天的例行性工作
目前的狀況是有一個排程軟體
每天會產生執行Log
但只會產生成功執行的排程
失敗或是沒做的就不會記錄在Log裡
導致我每天都要去人工檢查排程有沒有執行成功

現在想法是
用腳本去抓Log裡的排程字串
Log裡會有的資訊是
今天要執行A B C D排程
然後下面開始跑
A排程 執行成功
B排程 執行成功
(C可能失敗不會記錄在Log上)
D排程 執行成功

我想先用for /f 迴圈把ABCD排程全部列出來
然後再去反向比對Log裡的執行功成字串
沒有出現執行成功的字串代表執行失敗->發告警信

(另外因為ABCD排程每支排程執行的頻率不一樣,
有些排程今天可能不會跑,所以不能把所有排程直接列出來去比對。)
這樣子有辦法做到嗎?
請各位大大幫忙


抱歉 補充一下
上面講的A B C D排程
是包在一個第三方軟體內執行的排程
並非是在工作排程器裡執行的排程

看更多先前的討論...收起先前的討論...
https://www.schakko.de/2020/03/15/how-to-add-a-cron-job-scheduled-task-on-windows/
zero iT邦好手 1 級 ‧ 2020-12-08 15:27:40 檢舉
直接對排程結果查詢(成功)(失敗),不用在寫什麼批次判斷LOG,你再繞遠路。
蟹老闆 iT邦大師 1 級 ‧ 2020-12-09 22:29:12 檢舉
可以用標記的方式,當日應執行檢查哪些項目。
①②③⑤⑦ A排程
①③⑤⑥ B排程
③⑦ C排程
①②③④⑤⑥⑦ D排程

用for + findstr 找出要執行的動作
ATF_G iT邦新手 5 級 ‧ 2020-12-14 23:54:22 檢舉
如果分成4個BAT呢?
先寫排程A的LOG檢查,再依次複制,只要改CODE裡的檢查時間頻率和各自對應的LOG,這樣是應該會比較容易完成!!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答