主要想講在Windows中如何透過Task Scheduler介面和寫一份簡單的Script檔來幫你完成一些生活中的小事。
就以同樣例子來說
建立一個建立一個存放暫存檔案的資料夾,作為存放暫存資料的資料夾
和隨意先建立一份空白文字檔,將其副檔名改成ps1。
$PATH = "你的資料夾的絕對路徑"
if((Test-Path -Path $PATH)){
cd $PATH
attrib /S -H
rd -r "$PATH\*"
}
rd -r "PATH"
舉例來說:
rd -r "C:\Users\TempDownloads\*"
rd
即刪除路徑,但如果有子資料夾存在,系統變回彈出視窗詢問,這時可以加上-r
,即我要連子資料夾都刪,便不會有詢問視窗出現。
接著 rd -r
是沒辦法刪掉隱藏檔的,因此我們要在刪除前先將檔案全改為非隱藏。
windows的attrib
指令可以將檔案的屬性做更改。
attrib /D /S -H
-H
:即是要將檔案的隱藏屬性拿掉/S
:將屬性賦予到所有匹配到的檔案及其子項目的檔案/D
:將屬性賦予到該路徑上所有檔案和資料夾
兩個一起用即是將屬性賦予到該路徑及其子項目的所有檔案和資料夾
為了預防誤刪我預期外路徑上的檔案,我做了if scope防範,確認該路徑存在,存在的話cd
到該路徑底下去。
if(Test-Path -Path $PATH){
cd $PATH
}
$PATH\*
的*
意指任意檔名都Matching,也就是說TempDownloads
底下的任何檔案都會被匹配上。
1.打開你的Task Scheduled
2.視窗右側Create Basic Task
3.輸入你的Task名字
4.選擇你要多久一次
5.設定執行時間
6.設定執行的模式
7.Program/script意指你要用什麼終端去執行它,我們寫的Powershell Script,所以這邊填上Powershell,Arguments則是要餵給Powershell的參數
powershell "ps1檔路徑" 要給ps1檔的變數1 要給ps1檔的變數2 以此類推...
這個範例沒有需要變數因此就只要付上檔案路徑
8.最後確認一下設定資訊
9.可以看到自己設定的Task已經出現在Task Scheduler上,可以按一下綠色三角形的Run試跑看看。
這邊有執行設置Daily Task的Script :D
param (
[string]$TaskName = "MyDailyTask.ps1"
[datetime]$ExcutionTime = "11:00am",
[string]$TaskPath = "YourTaskNamePath.ps1"
)
$Action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument $TaskPath
$Trigger = New-ScheduledTaskTrigger -Daily -At $ExcutionTime
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings
Register-ScheduledTask -TaskName $TaskName -InputObject $Task
決定拿庫存出來講,聊聊Git Hook跟相關應用,撐過這週末XD
下一篇:About Git Hook