各月份計畫事項事先通知LINE群組

更新於 發佈於 閱讀時間約 15 分鐘

1. 設計功能            

將整年份計畫事項,包含每月一次或每單月一次,每雙月一次之固定日期將來臨前,需要事先準備執行的事項,先一件一件記入在文字檔內,以便能該事件來臨前幾天,以LINE訊息自動發送出該事件內容給群組全員,讓全員可以事先接到通知,事先做好準備,才不會遺忘重要計畫事件。

本件適用於各團體單位,尤其是年度內有許多定例計劃事項,需按時執行或舉辦之各種活動。

          

2. 作業說明       

2.1 讀取參數檔內含送信日,與計畫事項之訊息內容                

先Read 取得  input file內多筆Plan do 事項 ( input file: LINE_send_notify_par-LIN.txt)          

      讀取方法:            

      FOR /F "tokens=1,2* delims=?" %%i in ('findstr /C:"D?" LINE_send_notify_par-LIN.txt' ) do ( CALL :PlanDo %%j "%%k" )     

          

2.2  計畫事項取得處理  (CALL :PlaDo )             

2.2.1 取得計畫事項之日期與事項內容         

       <1>日期 :  set par_md=%1 

           該事件訊息於何日會發送出LINE訊息,依據%1 參數取得後,再判斷取得%1當日,與其前一天,共取得兩次發送日,即該事件將會連續兩天發出LINE訊息

       <2> 內容:  set par_message=%2    

           該事件訊息內容,依據%2 參數取得

2.2.2 送信日的前一日之取得處理         

       判斷今日是否為 發送日之前一日

       STEP1.0,0  檢查par  日期 是否正確判斷  

       STEP1.0,1  par前一日之篩選出範圍內

       STEP1.0.2 根據par_dd 前一天,得send_dd  ex.om14/ em14/ mm14 /0814  

           根據par_mm, 取得send_mm

           當前一日send_dd==00  特別處理  變為前月之第一日  ( CALL  :LastM_FinalDay )

       STEP1.0.3 若par前一天 ==今日,取得send訊息追加出力par檔 (當%send_mm%=99 不會send)    

2.2.3 送信日為當日之取得處理 

       判斷今日是否為 發送日

       STEP1.1,1  par當日之篩選出範圍內, 此時send_mm 為 上步驟 取得par前一日之月份    

       STEP1.1.2 根據par 取得par當日之send_dd      

       STEP1.1.3 若par日期 ==今日,取得send訊息追加出力par檔 (當%send_mm%=99 不會send) 

          

2.3 取得LINE send訊息後,執行LINE傳送程式 (CALL python exe檔  )           

2.3.1 發送LINE訊息內容於2.2 已取得       

2.3.2 欲發送給哪個LINE群組  之 token  序號出力至LINE傳送參數檔 

         (echo T,xxxxxxxxx3cs>> LINE_send_notify_par.txt)       

2.4 上述內容之詳細指令,請参考下面第四点bat設計


3. 實例說明          

3.1 PlanDo 計畫事項之txt檔案內容,依據個別需要,自行制訂年度計劃事項,可追加刪除,並且該計畫內容可多年使用

 即入力檔  ( LINE_send_notify_par-LIN.txt) 內容 如下:

D?mm14?每月18日前繳、玉山信用卡費
D?mm26?每月29日前繳、百管費
D?mm28?每月30日前繳、聯邦,華南,兆豐信用卡

D?om19?單月21日前繳、水費

D?em24?雙月28日前繳、電費
D?em26?雙月28日前繳、國保費

D?0423?每年 430日前繳,機車及汽車牌照稅
D?0523?每年 528日前繳,機車及汽車保險
D?0525?每年 531日前繳,所得稅,及房屋稅
D?0526?每年 531日郵局轉帳,房屋稅
D?0727?每年 731日前繳、機,汽車燃料稅
D?0729?每年 801日前,掛號信轉址申請
D?0903?每年 907日郵局轉帳、新光保險費
D?1019?每年1023日郵局轉帳,新光保險費
D?1126?每年1130日郵局轉帳、地價稅
D?1009?每年舊曆9/9先祖忌拜

   3.2 本例執行後,發送出LINE訊息

     依據上述檔案內之

D?0523?每年 5月28日前繳,機車及汽車保險

 因本日5/22,故於5/22,5/23連續兩天,都會發出LINE訊息內容如下:

raw-image


4  執行檔bat 設計內容如下 :

 @ECHO OFF
REM ---2個入力檔(1)LINE_send_notify_par.txt Python程式用 (2)LINE_send_notify_par-LIN.txt 計畫事日期
rem ---注意: par txt file 之傳送內容不可有 () ,因 cmd 會錯亂致當掉 ---
d:
rem cd D:\HTW-IT\LINEN
cd D:\lin_PC\cmd-bat\bat\LINE_Notify\LIN
set send_mm=99
set send_dd=88
set oem=nul
set send_F=N
set T_mm=%DATE:~5,2%
set T_dd=%DATE:~8,2%
::---判斷今日是奇月odd 或偶月even---
echo %T_mm% | findstr "02 04 06 08 10 12"
if %errorlevel%==0 set oem=even

rem Note---LINE_notify_par第一行空值不可, 右邊錯誤---echo.> LINE_send_notify_par.txt
echo M,> LINE_send_notify_par.txt
REM -----STEP1 Read 取得par file內多筆Plan do 事項 -----
FOR /F "tokens=1,2* delims=?" %%i in ('findstr /C:"D?" LINE_send_notify_par-LIN.txt' ) do ( CALL :PlanDo %%j "%%k" )

REM -----STEP2 取得send訊息後,執行傳送訊息LINE群組for python)---
if %send_F%==Y (
echo T,e7iEtrrrrrrrrrrrrrr5qEa0luu>> LINE_send_notify_par.txt
CAll LINE_send_notify.exe )
rem pause job end-----
EXIT

:PlanDo
set par_md=%1
set par_message=%2
set par_message=%par_message:"=%
set par_mm=%par_md:~,2%
set par_dd=%par_md:~2,2%

REM -----STEP1.0,0 檢查par 是否正確
echo %par_mm% | findstr "mm em om"
if %errorlevel%==0 (goto par_mmOK
) else ( if %par_mm% GTR 00 (
if %par_mm% LSS 13 (goto par_mmOK) else (echo ### ERROR par_mm 大於12 & goto PlanDo_Exit)
) else ( echo ### ERROR par_mm 小於00 & goto PlanDo_Exit ) )
:par_mmOK

if %par_dd% GTR 00 (
if %par_dd% LSS 32 (goto par_ddOK ) else (echo ### ERROR par_dd 大於31 & goto PlanDo_Exit )
) else ( echo ### ERROR par_dd 小於00 & goto PlanDo_Exit )
:par_ddOK

REM -----STEP1.0,1 par前一日之判斷是否要送信???
if NOT %par_mm:~1,1%==m (
if NOT %par_mm%==%T_mm% (
if NOT %par_dd%==01 goto PlanDo_Exit )
)

REM -----STEP1.0.2 根據par_dd 前一天,得send_dd ex.om14/ em14/ mm14 /0814
::---Note 08, 09 cannot compute, change to 8,9; 計算後小於100,00 保留
set send_dd=%par_dd%
if %par_dd:~,1%==0 ( set send_dd=%par_dd:0=% )
set /a send_dd=%send_dd% - 1
if %send_dd% LSS 10 (set send_dd=0%send_dd% )

::-----根據par_mm, 取得send_mm
if %par_mm:~1,1%==m ( CALL :MM_OM_EM %par_mm%
) else ( set send_mm=%par_mm% )
if %send_mm% NEQ 99 (
if %send_dd%==00 ( CALL :LastM_FinalDay %send_mm% ) )

REM -----STEP1.0.3 若par前一天 ==今日,取得send訊息追加出力par檔 (%send_mm%=99 不會send)
if %T_mm%==%send_mm% (
if %T_dd%==%send_dd% (
echo M,%par_message%>> LINE_send_notify_par.txt
set send_F=Y ))
rem pause --- step 1.0.3 chk

REM -----STEP1.1,1 par當日之判斷是否要送信??? (此時send_mm 為par前一日之月份)
if NOT %par_dd%==%T_dd% ( goto PlanDo_Exit
) else (
if NOT %par_dd%==01 (
if NOT %send_mm%==%T_mm% goto PlanDo_Exit )
)
REM -----STEP1.1.2 根據par 取得par當日之send_dd
set send_dd=%par_dd%
::-----根據par_mm, 取得send_mm
if %par_mm:~1,1%==m ( CALL :MM_OM_EM %par_mm%
) else ( set send_mm=%par_mm% )

REM -----STEP1.1.3 若par日期 ==今日,取得send訊息追加出力par檔 (%send_mm%=99 不會send)
if %T_mm%==%send_mm% (
if %T_dd%==%send_dd% (
echo M,%par_message%>> LINE_send_notify_par.txt
set send_F=Y ))
:PlanDo_Exit
rem pause --- step 1.1.3 chk
exit /b

:MM_OM_EM
set send_mm=99
if %1==mm (set send_mm=%T_mm% & goto BRK )
if %oem%==even (
if %1==em (set send_mm=%T_mm%
) else ( goto BRK)
) else (
if %1==om (set send_mm=%T_mm% )
)
:BRK
exit /b

:LastM_FinalDay
set send_mm=%1
if %send_mm:~,1%==0 ( set send_mm=%send_mm:0=% )
set /a send_mm=%send_mm% - 1
if %send_mm% LSS 10 (set send_mm=0%send_mm% )
rem FOR /F "tokens=1 delims= " %%i in ('echo %send_mm% ^| findstr "04 06 09 11" ') do ( set send_dd=30 )
rem ---不可 ^| 因errorlevel 結果取得都會0
echo %send_mm% | findstr "04 06 09 11"
if %errorlevel%==0 (
set send_dd=30
) else ( set send_dd=31 )
if %send_mm%==02 (
set send_dd=28
) else (
if %send_mm%==00 (set send_mm=12 ) )
exit /b


5 自動排程設定

上述執行檔bat設定於Windows自動排程,讓它能自動執行,若該日是發送日,將自動發送LINE訊息至設定的LINE群組,以達到能主動事先發送LINE訊息之功能。

-------recorded by linct ------

留言
avatar-img
留言分享你的想法!
感謝分享
linct-avatar-img
發文者
2024/06/15
謝謝
avatar-img
linct的沙龍
64會員
183內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
linct的沙龍的其他內容
2025/03/31
比爾·蓋茲於1999年出版的《數位神經系統》一書,至今仍具有參考價值。本文探討該書的核心概念,如何在當今的科技環境下應用數位神經系統,並提出一些需要調整的部分。
Thumbnail
2025/03/31
比爾·蓋茲於1999年出版的《數位神經系統》一書,至今仍具有參考價值。本文探討該書的核心概念,如何在當今的科技環境下應用數位神經系統,並提出一些需要調整的部分。
Thumbnail
2025/01/26
此程式利用批次檔(bat)結合vbscript,自動篩選Windows事件紀錄,並產生Excel報表,方便管理人員統計與分析系統事件。
Thumbnail
2025/01/26
此程式利用批次檔(bat)結合vbscript,自動篩選Windows事件紀錄,並產生Excel報表,方便管理人員統計與分析系統事件。
Thumbnail
2025/01/20
此程式 可將 CSV 檔案資料轉換並更新至 Excel 檔案,減少檔案大小並方便傳輸。程式可自訂 CSV、Excel 檔案路徑及更新範圍,多種儲存格式與應用場景,如讀取 TXT 檔案、保留 Excel 巨集公式及設定排程自動執行等。
Thumbnail
2025/01/20
此程式 可將 CSV 檔案資料轉換並更新至 Excel 檔案,減少檔案大小並方便傳輸。程式可自訂 CSV、Excel 檔案路徑及更新範圍,多種儲存格式與應用場景,如讀取 TXT 檔案、保留 Excel 巨集公式及設定排程自動執行等。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
20240729 生活的變動使我有些暴躁,因此決定開啟一個為期一年的寫點東東計畫,以此提醒自己記得感恩記得思考,記得好好解決問題,記得勇敢,記得努力也記得休息。 如果你願意陪我一起進行,我會非常非常高興及感謝🙏🏻
Thumbnail
20240729 生活的變動使我有些暴躁,因此決定開啟一個為期一年的寫點東東計畫,以此提醒自己記得感恩記得思考,記得好好解決問題,記得勇敢,記得努力也記得休息。 如果你願意陪我一起進行,我會非常非常高興及感謝🙏🏻
Thumbnail
  接續上一篇文章,換言之,不會因為放假不能睡晚而影響到心情,就算六日都早起,週一也可以保持平靜的心情上班。而在新的一年裡,無論是以一月一日或農曆春節過後為起始日,先將計畫安排好,心裡也會有個底,知道這一年要完成什麼計畫。對於工作的內容,可以用兩個角度來思考:         第一,如果是
Thumbnail
  接續上一篇文章,換言之,不會因為放假不能睡晚而影響到心情,就算六日都早起,週一也可以保持平靜的心情上班。而在新的一年裡,無論是以一月一日或農曆春節過後為起始日,先將計畫安排好,心裡也會有個底,知道這一年要完成什麼計畫。對於工作的內容,可以用兩個角度來思考:         第一,如果是
Thumbnail
開始決定規律地發表文章,是從去年的十二月開始,陸陸續續也差不多半年了,正好來到一個適合回顧的時機。 以下就簡單的列幾點,在每一項會分別列舉三條做小結當作跟大家、也跟自己聊聊天。如果你對我這段時間寫的內容、介紹的作品、更新的方式等等有其他想法,也歡迎隨時留言和我分享。
Thumbnail
開始決定規律地發表文章,是從去年的十二月開始,陸陸續續也差不多半年了,正好來到一個適合回顧的時機。 以下就簡單的列幾點,在每一項會分別列舉三條做小結當作跟大家、也跟自己聊聊天。如果你對我這段時間寫的內容、介紹的作品、更新的方式等等有其他想法,也歡迎隨時留言和我分享。
Thumbnail
百日百字計畫 #18 一百天一百字的紀錄,練習覺察的百日紀錄。
Thumbnail
百日百字計畫 #18 一百天一百字的紀錄,練習覺察的百日紀錄。
Thumbnail
設計功能             將整年份計畫事項,包含每月一次或每單月一次,每雙月一次之固定日期時,需要事先準備執行的事項,先一件一件記入在文字檔內,以便能該事件來臨前幾天,以LINE訊息自動發送出該事件內容給群組全員,讓全員可以事先接到通知,事先做好準備,才不會遺忘重要計畫事件     
Thumbnail
設計功能             將整年份計畫事項,包含每月一次或每單月一次,每雙月一次之固定日期時,需要事先準備執行的事項,先一件一件記入在文字檔內,以便能該事件來臨前幾天,以LINE訊息自動發送出該事件內容給群組全員,讓全員可以事先接到通知,事先做好準備,才不會遺忘重要計畫事件     
Thumbnail
最近這一兩年,市面上突然多出很多行事曆工具可以選擇,不管是 Google calendar 的更新、Cron、Morgan、Rise、一直到最近出現的 HEY 跟 amie,在這麼多的行事曆中,其實只要掌握好核心概念,就可以掌握主動權,來提升生產力。
Thumbnail
最近這一兩年,市面上突然多出很多行事曆工具可以選擇,不管是 Google calendar 的更新、Cron、Morgan、Rise、一直到最近出現的 HEY 跟 amie,在這麼多的行事曆中,其實只要掌握好核心概念,就可以掌握主動權,來提升生產力。
Thumbnail
日記寫在哪?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完成
Thumbnail
日記寫在哪?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完成
Thumbnail
日記寫在哪裡?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完
Thumbnail
日記寫在哪裡?寫在Day One,寫在臉書,寫在每年換新的行事曆上。每天打開app,會跳出這一天有幾則條目。有時很多,有時一則也沒有。或在臉書,常常提醒動態回顧。有時很多,有時一則也沒有。我疑惑日子的飛逝,也忘記認識從前。當主動紀錄成為被動顯示,代表日子一去不回。於是,進入過去的今天,因為今天仍待完
Thumbnail
因為我們每天都會被問不只一次,乾脆把日期都整理出來,這樣大家查找更方便。 整年的新月|滿月| 八大節慶的日期都在上面囉。 因為是工作了10個小時後老眼昏花整理出來的,如果有誤植的話,再跟我們說,會立即修正喔。 預祝大家週末愉快。我們也要下班落跑啦~ ▍限量Imbolc蠟燭預購中:
Thumbnail
因為我們每天都會被問不只一次,乾脆把日期都整理出來,這樣大家查找更方便。 整年的新月|滿月| 八大節慶的日期都在上面囉。 因為是工作了10個小時後老眼昏花整理出來的,如果有誤植的話,再跟我們說,會立即修正喔。 預祝大家週末愉快。我們也要下班落跑啦~ ▍限量Imbolc蠟燭預購中:
Thumbnail
📣按照慣例 迎接新的一月來臨又有新的提醒📣
Thumbnail
📣按照慣例 迎接新的一月來臨又有新的提醒📣
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News