在Windows 10 系統(tǒng)中都有一個(gè)自帶的應(yīng)用程序叫做“任務(wù)計(jì)劃程序” (Task Scheduler)。通過(guò)這個(gè)程序就可以實(shí)現(xiàn)每日定時(shí)運(yùn)行特定程序的功能。

1、打開(kāi)任務(wù)計(jì)劃程序。
敲擊鍵盤的windows鍵,然后輸入“任務(wù)計(jì)劃程序”??梢钥吹匠霈F(xiàn)了下面第二張截圖的樣子。

這個(gè)時(shí)候我們?cè)偾脫艋剀囨I就可以打開(kāi)這個(gè)程序。

2、創(chuàng)建bat腳本
由于任務(wù)計(jì)劃程序是沒(méi)有辦法直接運(yùn)行python腳本。所以還需要準(zhǔn)備一個(gè)bat腳本來(lái)運(yùn)行python腳本。
首先在桌面空白位置右鍵新建一個(gè)文本文檔。完成之后會(huì)發(fā)現(xiàn)文件夾中多出來(lái)一個(gè)“新建文本文檔.txt”。
將文本文件命名為“獲取股票當(dāng)前時(shí)刻數(shù)據(jù).bat”?!?bat”之前的文字都可以根據(jù)要實(shí)現(xiàn)的功能來(lái)命名。
然后用記事本打開(kāi)“獲取股票當(dāng)前時(shí)刻數(shù)據(jù).bat”文件,并在里面輸入下面這行代碼:
python "C:\path\to\your\python\script.py"
比如:

這行代碼的格式是python(空格),后面加上要運(yùn)行的python腳本的地址。即"python 文件地址\文件名"。
@echo off
python "C:\Users\Administrator\Desktop\test.py"
在截圖的這個(gè)示例中文件地址為"C:\Users\Administrator\Desktop"。文件名為"test.py"。要注意里面的分隔符號(hào)都是“\” 而不是 “/”。
調(diào)試腳本的時(shí)候,最好在上面代碼最后加上pause停頓,可以看到運(yùn)行結(jié)果。因?yàn)橛袝r(shí)候會(huì)運(yùn)行失敗,但是不知道具體是什么原因,所以加上這個(gè)停頓,就看到是不是腳本報(bào)錯(cuò)
@echo off
python "C:\Users\Administrator\Desktop\test.py"
pause
3、部署bat文件
準(zhǔn)備好了bat文件就可以開(kāi)始設(shè)置第一步中打開(kāi)的任務(wù)計(jì)劃程序,來(lái)部署bat文件。
1.創(chuàng)建一個(gè)新的文件夾來(lái)存放自己的自動(dòng)化任務(wù),方便管理
2.鼠標(biāo)右鍵選擇“創(chuàng)建基本任務(wù)”

然后輸入每日自動(dòng)運(yùn)行任務(wù)的名稱。如果該任務(wù)比較復(fù)雜,也可以在描述中輸入該任務(wù)的具體介紹。完成之后點(diǎn)擊下一步。

根據(jù)自己的需求選擇時(shí)間


3、啟動(dòng)程序

選擇要運(yùn)行的bat文件,最重要的一點(diǎn)是起始于這個(gè)選項(xiàng)要填上bat文件所在的目錄,否則涉及到文件讀寫的時(shí)候,可能會(huì)失敗
通常是因?yàn)橐l(fā)了FileNotFoundError異常導(dǎo)致程序結(jié)束,文件沒(méi)找到或者路徑有誤。
為什么文件會(huì)不存在?
因?yàn)樵谌蝿?wù)計(jì)劃程序運(yùn)行程序是在電腦的用戶目錄下,比如C:User\buliqiao,而代碼里面的文件路徑使用的是相對(duì)路徑的話,這樣就會(huì)出現(xiàn)找不到文件的情況了。

4、完成

4、測(cè)試
發(fā)現(xiàn)任務(wù)計(jì)劃程序中有了我們?cè)O(shè)置的“每日10:30更新股票數(shù)據(jù)”的自動(dòng)運(yùn)行任務(wù)。如果想要測(cè)試一下有沒(méi)有正確設(shè)置,可以點(diǎn)擊右邊的運(yùn)行按鈕來(lái)試運(yùn)行一下。

5、一些其他問(wèn)題的原因
-
windows計(jì)劃任務(wù)執(zhí)行,但是程序未執(zhí)行
運(yùn)行結(jié)果顯示操作成功完成0x0,或者一直是正在運(yùn)行程序0x41301狀態(tài)
但此時(shí)(假設(shè)是執(zhí)行腳本的計(jì)劃)腳本未執(zhí)行,或者沒(méi)有執(zhí)行結(jié)果
那么可以認(rèn)為是該腳本并沒(méi)有跑
排查點(diǎn):
1)本地安全策略→本地策略→用戶權(quán)限分配→作為批處理作業(yè)登錄中有沒(méi)有你要執(zhí)行的腳本或者其他程序的用戶,如果沒(méi)有請(qǐng)?zhí)砑?br> 2)計(jì)劃任務(wù)→屬性→安全選項(xiàng)中的運(yùn)行任務(wù)是,請(qǐng)使用下列用戶賬戶,這個(gè)賬戶是不是有權(quán)限執(zhí)行。保存的時(shí)候需要輸入開(kāi)機(jī)密碼才行,如果電腦沒(méi)有設(shè)置開(kāi)機(jī)密碼,需要設(shè)置開(kāi)機(jī)密碼后才能進(jìn)行保存動(dòng)作。
注:administrator和Administrators和Administrator有區(qū)別
image.png
2、路徑問(wèn)題
有的電腦系統(tǒng)需要進(jìn)入腳本的文件夾,再運(yùn)行py文件才行,所以bat的腳本應(yīng)該修改為
@echo off
cd "C:\Users\Administrator\Desktop\test.py"
python "test.py"
pause
