schtasks to wbudowane w Windows narzędzie wiersza poleceń do obsługi Harmonogramu zadań (Task Scheduler) bez klikania w GUI. Pozwala tworzyć, usuwać, uruchamiać, podglądać i zmieniać zaplanowane zadania — czyli odpalać skrypty, programy czy backupy o ustalonej porze, przy starcie systemu albo logowaniu użytkownika. To windowsowy odpowiednik crona, tyle że gadatliwszy. Jeśli masz coś, co ma się dziać samo i regularnie, schtasks jest twoim narzędziem pierwszego wyboru w czystym CMD czy PowerShellu.
Składnia i najważniejsze opcje
Podstawowa forma to jedna z pięciu operacji plus opcje:
schtasks /Create | /Delete | /Query | /Run | /Change | /End [opcje]
/TN— nazwa zadania, która je jednoznacznie identyfikuje (możesz użyć ścieżki w drzewie, np.\Firma\Backup)./TR— co ma się uruchomić: pełna ścieżka do programu lub skryptu, np.C:\skrypty\backup.bat./SC— typ harmonogramu:MINUTE,HOURLY,DAILY,WEEKLY,MONTHLY,ONCE,ONSTART,ONLOGON,ONIDLE,ONEVENT./ST— godzina startu w formacie 24-godzinnymHH:mm. Bez tego użyje bieżącego czasu./MO— modyfikator częstotliwości, np. co ile dni/godzin/minut zadanie ma się powtarzać./RU— konto, na którym zadanie działa (np.SYSTEM), a/RPto jego hasło./F— wymusza utworzenie i ucisza pytanie o nadpisanie istniejącego zadania./D— dzień: numer dnia miesiąca albo dzień tygodnia (MON,TUE…) przyWEEKLY/MONTHLY.
Przykłady użycia
schtasks /Create /TN "Backup" /TR "C:\skrypty\backup.bat" /SC DAILY /ST 23:00 — odpala skrypt backupu codziennie o 23:00.
schtasks /Create /TN "Czyszczenie" /TR "cleanup.exe" /SC WEEKLY /D SUN /ST 04:30 — uruchamia program w każdą niedzielę o 4:30.
schtasks /Query /TN "Backup" /V /FO LIST — pokazuje szczegóły zadania w czytelnym formacie listy (/V to tryb gadatliwy).
schtasks /Run /TN "Backup" — odpala zadanie natychmiast, ręcznie, do testu.
schtasks /Delete /TN "Backup" /F — kasuje zadanie bez pytania o potwierdzenie.
Częste błędy i pułapki
Cudzysłowy. Jeśli ścieżka w /TR zawiera spacje, całość musi być w cudzysłowach, a gdy do tego przekazujesz argumenty, robi się zabawa z zagnieżdżonym cytowaniem (\"). Niedopilnowanie tego to klasyczny powód „zadanie jest, ale nic nie odpala”.
Uprawnienia. Tworzenie zadań na koncie SYSTEM albo dla innego użytkownika wymaga konsoli uruchomionej jako administrator. Bez tego dostaniesz „Access is denied”.
Hasło i /RU. Zadanie ma działać „gdy użytkownik nie jest zalogowany”? Musisz podać /RP z hasłem, inaczej zadanie odpali się tylko przy aktywnej sesji. Konta SYSTEM czy LOCALSERVICE hasła nie potrzebują.
Nie myl z at. Stara komenda at jest przestarzała i jej zadania nie są w pełni widoczne w nowym Harmonogramie — używaj schtasks.
Powiązane komendy: at (przestarzała), taskschd.msc (graficzny Harmonogram zadań), tasklist i taskkill (procesy), a w PowerShellu rodzina Register-ScheduledTask i Get-ScheduledTask.