使用Powershell 結合net core控制台程序執行定時運行任務


最近有個需求,需要做成windows Service服務來定時執行,用net core寫完了,才發現沒法子做為服務來運行。

在園子里搜了下,有各種解決方法,各有千秋。看了后,覺得不太方便,就自己想想法子來處理了。最后的解決方案是用posershell 寫三四行代碼,一執行,就可以將定時任務添加成功

 

首先,就是寫好一個net core控制台程序。控制台程序運行你的處理邏輯。

代碼就不展示了……

然后將代碼發布到指寶的文件夾,需要記錄下你控制台的dll名字。對,dll名字,net core控制台程序,默認不會創建exe文件。

復制好發布好的文件夾路徑,

可以用任意的編輯器編寫以下代碼,我是用系統自帶的Powershell ISE來編寫的。

Register-ScheduledJob -Name XXXXService -ScriptBlock{
dotnet Path\XXXXService.dll
} -Trigger (New-JobTrigger -Once -At (Get-Date).AddMinutes(1) -RepetitionInterval '01:00:00' -RepeatIndefinitely)

 

 

代碼做個說明,

在系統中注冊一個計划任務 (Register-ScheduledJob) ,指定計划名(-Name),指定要運行的腳本(-ScriptBlock ),腳本內容(dotnet  path),

指定觸發器(-Trigger ),新建觸發器 指定運行開始時間,指定運行間隔時間(-RepetitionInterval ),代表一小時運行一次(01:00:00),指定無限期運行 (-RepeatIndefinitely)

只需要運行上面的Powershell腳本,即可為系統添加一個定時執行的計划任務。

 

足夠簡單方便。

 

Unregister-ScheduledJob -Name XXXXService     ---刪除計划任務。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM