È possibile disabilitare un'attività pianificata dalla riga di comando in Windows XP?


11

Sul mio computer con Windows 7 posso eseguire qualcosa del tipo:

schtasks.exe /Change /TN "MyTaskName" /Disable

Ma / Disabilita non sembra essere disponibile in Windows XP: esiste un modo per disabilitarlo dalla riga di comando?

Risposte:


8

Lo /disableswitch è solo una funzionalità di Vista / 7 / 2008R2 / 2012 .

Puoi semplicemente rinominare il .jobfile dell'attività per "disabilitarlo".

schtasks /Create /SC HOURLY /TN "TEST TASK" /TR notepad
schtasks

TaskName                             Next Run Time            Status
==================================== ======================== ===============
TEST TASK                            09:45:00, 7/26/2010

move "C:\WINDOWS\Tasks\TEST TASK.job" "C:\WINDOWS\Tasks\TEST TASK.bak"
schtasks
INFO: There are no scheduled tasks present in the system.

Per "abilitare" l'attività rinominare il .bakfile in .job:

schtasks
INFO: There are no scheduled tasks present in the system.

move "C:\WINDOWS\Tasks\TEST TASK.bak" "C:\WINDOWS\Tasks\TEST TASK.job"
schtasks

TaskName                             Next Run Time            Status
==================================== ======================== ===============
TEST TASK                            09:45:00, 7/26/2010

Buona idea. Tuttavia, mi piacerebbe davvero che appaia come disabilitato nell'Utilità di pianificazione, quindi posso abilitarlo di nuovo ad un certo punto in futuro. Normalmente potresti semplicemente impostarlo su "Esegui una volta" e impostare un orario specifico, ma questo particolare script è necessario eseguirlo al momento dell'accesso e quindi disabilitarsi.
John Sibly,

4
@Giovanni: aggiornata la mia risposta per mostrare l'esempio di "abilitazione". Escludendo tale opzione, è possibile copiare C:\Windows\System32\schtasks.exebinari da un'installazione 2003+. Posiziona questo binario sulla macchina XP e chiamalo usando il suo percorso esplicito. Ho appena testato con successo disabilitando un'attività creata con XP schtasksutilizzando il 2003 schtasks.
jscott,

Grazie per le risposte: userò la soluzione alternativa di Win2003 perché si adatta meglio alla nostra situazione. Ma l'idea di rinominare potrebbe anche tornare utile ad un certo punto
John Sibly,

2

Per ottenere il comportamento run-once, è sempre possibile codificare uno script bat "wrapper" che verifica la presenza di un file di blocco.

Crea il file di blocco alla prima esecuzione, e ogni lì dopo lo script wrapper uscirà solo se trova il file di blocco:

if exist Lock.file goto :eof
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.