各月份計畫事項事先通知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 ------

53會員
118內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
留言0
查看全部
發表第一個留言支持創作者!
linct的沙龍 的其他內容
Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟做日常工作
(1)事前LINE主動發出通知,無論何處,所有人均可掌握值勤排班內容  (2) 換班前幾天收到通知,可事先安排交代事務給下回值勤人員,讓值勤業務能順利實施
查看近日氣候 近日若計畫舉辦戶外活動,想要在你的電腦查詢近日氣候,事先掌握三天內的氣候,或想在你的手機上查看近日氣候。
每日自動檢查資料庫運作所產生的訊息,若發現有錯誤,自動寄出警告信給擔當人員
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
利用總機每日外線通話紀錄所產出之紀錄檔案,一筆一筆抓出,並加以判斷是否異常,若有意常發生,將擷取該筆異常資料明細出力之,並email給相關管理者
Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟做日常工作
(1)事前LINE主動發出通知,無論何處,所有人均可掌握值勤排班內容  (2) 換班前幾天收到通知,可事先安排交代事務給下回值勤人員,讓值勤業務能順利實施
查看近日氣候 近日若計畫舉辦戶外活動,想要在你的電腦查詢近日氣候,事先掌握三天內的氣候,或想在你的手機上查看近日氣候。
每日自動檢查資料庫運作所產生的訊息,若發現有錯誤,自動寄出警告信給擔當人員
抓取對象檔案,自動進行壓縮處理,壓縮後產出一個壓縮檔案,如此便可節省硬碟使用空間
利用總機每日外線通話紀錄所產出之紀錄檔案,一筆一筆抓出,並加以判斷是否異常,若有意常發生,將擷取該筆異常資料明細出力之,並email給相關管理者
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
生命靈數是一門古老的學問,它使用您的出生日期來揭示關於您性格、人生路徑和未來的信息。在這個過程中,計算個人的年份和月份是一個重要環節,它可以幫助您了解特定時間段對您的影響。
Thumbnail
一月-一元初始萬象新,轉輪新情心態空 二月-踏步更動心不動,穩步踏行無旁物 三月-能量起伏考人心,從心調整眼觀心 四月-世界新界舊換新,開闊心情不糾結 五月-嘗試體驗新事物,學習積累終不悔 六月-年中已到反思心,萬事變化皆因緣 七月--平順源於心平靜,環境萬變堅己路 八月
Thumbnail
新人們在查2023結婚好日子的時候,除了合八字或看農民曆,也可以參考自己的星座,選擇哪個月份結婚,跟自己的星座習性比較吻合唷^^
Thumbnail
趁出國前打給發言人詢問一些事情,分享給大家~ 發行可轉債增資的目的主要用於今年的資本支出沒有錯,還有一部份用於下半年償還「一年內到期的長期借款」。 公司內部的現金其實我認為還算充裕,卻仍需要這筆資金,或許代表著公司需要更多的資金。 發言人說今年資本支出不會超過去年的18億,目前規劃是12億,但這邊
Thumbnail
社群裡「我討厭我、我討厭你」 最近看到臉書的貼文回顧,我都(略微)驚訝自己以前的貼文怎麼這麼幼稚,以及過度活潑。簡直當噗浪(purk,簡直時代眼淚)發,隨便在公共區域喊來嚷去一些小事,或是自以為的大事,例如把個版當系學會佈告欄,好像學弟妹都要加我好友才行。 嘔嘔嘔,真是蠻想吐。看到都想問你哪位。
Thumbnail
再度來到熟悉的日子,根深蒂固的記憶總是不會遲到,心理時鐘準時地響起,曾經的回憶也翻湧的想起。
Thumbnail
寫作在方格子已經4個多月,在Matters 3個多月,算是一名寫作新手,最近聽到有兩位創作者在Matters吵架,我想導火線是A對方指名道名的批評B,重點是在公開平台批評,當事者一定不服氣,造成一連串的連鎖反應,讓不明白狀況的我很無言。
Thumbnail
到新的月份會做的3件事 盤點手邊的資產 這非常重要,能找出目前身上資產的弱點 像上次盤點才發現自己身上股票部位放太重 而現金實在少到非常危險 股票90%、現金5%、比特幣5% 還跟比特幣的配置比例一樣 因此這個月會慢慢想辦法將現金部位先拉高到10%左右 現金會拉這麼高主因是未來有太多不可預期之事 所
薩嘎達瓦月是《一年中最重要最殊勝的月份》,每年從藏歷四月一日開始,就會進入一年當中最為神聖的月份——薩嘎月。薩嘎月是佛陀降生、成道、涅槃的殊勝月份,在此月內行持任何善法,其功德都將成千億倍增長。  佛祖釋迦牟尼曾言:“此月行一善事,有行萬善之功德。”  每年薩嘎月,全世界的佛教徒都會隆重紀念這些殊勝
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
生命靈數是一門古老的學問,它使用您的出生日期來揭示關於您性格、人生路徑和未來的信息。在這個過程中,計算個人的年份和月份是一個重要環節,它可以幫助您了解特定時間段對您的影響。
Thumbnail
一月-一元初始萬象新,轉輪新情心態空 二月-踏步更動心不動,穩步踏行無旁物 三月-能量起伏考人心,從心調整眼觀心 四月-世界新界舊換新,開闊心情不糾結 五月-嘗試體驗新事物,學習積累終不悔 六月-年中已到反思心,萬事變化皆因緣 七月--平順源於心平靜,環境萬變堅己路 八月
Thumbnail
新人們在查2023結婚好日子的時候,除了合八字或看農民曆,也可以參考自己的星座,選擇哪個月份結婚,跟自己的星座習性比較吻合唷^^
Thumbnail
趁出國前打給發言人詢問一些事情,分享給大家~ 發行可轉債增資的目的主要用於今年的資本支出沒有錯,還有一部份用於下半年償還「一年內到期的長期借款」。 公司內部的現金其實我認為還算充裕,卻仍需要這筆資金,或許代表著公司需要更多的資金。 發言人說今年資本支出不會超過去年的18億,目前規劃是12億,但這邊
Thumbnail
社群裡「我討厭我、我討厭你」 最近看到臉書的貼文回顧,我都(略微)驚訝自己以前的貼文怎麼這麼幼稚,以及過度活潑。簡直當噗浪(purk,簡直時代眼淚)發,隨便在公共區域喊來嚷去一些小事,或是自以為的大事,例如把個版當系學會佈告欄,好像學弟妹都要加我好友才行。 嘔嘔嘔,真是蠻想吐。看到都想問你哪位。
Thumbnail
再度來到熟悉的日子,根深蒂固的記憶總是不會遲到,心理時鐘準時地響起,曾經的回憶也翻湧的想起。
Thumbnail
寫作在方格子已經4個多月,在Matters 3個多月,算是一名寫作新手,最近聽到有兩位創作者在Matters吵架,我想導火線是A對方指名道名的批評B,重點是在公開平台批評,當事者一定不服氣,造成一連串的連鎖反應,讓不明白狀況的我很無言。
Thumbnail
到新的月份會做的3件事 盤點手邊的資產 這非常重要,能找出目前身上資產的弱點 像上次盤點才發現自己身上股票部位放太重 而現金實在少到非常危險 股票90%、現金5%、比特幣5% 還跟比特幣的配置比例一樣 因此這個月會慢慢想辦法將現金部位先拉高到10%左右 現金會拉這麼高主因是未來有太多不可預期之事 所
薩嘎達瓦月是《一年中最重要最殊勝的月份》,每年從藏歷四月一日開始,就會進入一年當中最為神聖的月份——薩嘎月。薩嘎月是佛陀降生、成道、涅槃的殊勝月份,在此月內行持任何善法,其功德都將成千億倍增長。  佛祖釋迦牟尼曾言:“此月行一善事,有行萬善之功德。”  每年薩嘎月,全世界的佛教徒都會隆重紀念這些殊勝