26 lines
1.1 KiB
PowerShell
26 lines
1.1 KiB
PowerShell
# setup-task.ps1
|
|
# Register the nightly InBox→Gantt sync task in Windows Task Scheduler.
|
|
# Run once, as Administrator.
|
|
|
|
$taskName = "InBox-Gantt-Nightly-Sync"
|
|
$scriptPath = "C:\Users\Zane\Desktop\Gantt-App\sync-inbox-to-gantt.ps1"
|
|
|
|
# Remove existing task if present
|
|
$existing = Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue
|
|
if ($existing) {
|
|
Unregister-ScheduledTask -TaskName $taskName -Confirm:$false
|
|
Write-Host "Removed existing task: $taskName"
|
|
}
|
|
|
|
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
|
|
-Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$scriptPath`""
|
|
$trigger = New-ScheduledTaskTrigger -Daily -At 22:30
|
|
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
|
|
|
|
Register-ScheduledTask -TaskName $taskName `
|
|
-Action $action -Trigger $trigger -Settings $settings `
|
|
-Description "Nightly: git sync PARA/InBox + mirror InBox .md files to Gantt '待看:*' tasks"
|
|
|
|
Write-Host "Task '$taskName' registered. Next run: $(Get-Date -Format 'yyyy-MM-dd') 22:30"
|
|
Write-Host "Script: $scriptPath"
|