A caixa do Windows 7 possui uma lista de tarefas agendadas -> Tarefas padrão do Windows + Certas tarefas personalizadas que começam com uma determinada string. O código anterior excluiu todas as tarefas com o comando:
schtasks /Delete /TN * /F
Em vez disso , queremos manter as tarefas padrão do Windows e excluir seletivamente as tarefas que começam com uma determinada string, por exemplo abctask1
,. abctask2
Como prosseguir? Obrigado!
Responder1
Supondo que suas tarefas sejam uma palavra (por exemplo, abctask1, abctask2 - e não "tarefa abc 1"), isso deve funcionar:
for /f %%x in ('schtasks /query ^| findstr abctask') do schtasks /Delete /TN %%x /F
Responder2
Se você quiser que o curinga (*) seja usado em sua seleção de tarefas a serem excluídas, tente usar este comando em lote simples:
(apenas amostra)
echo off
del %SystemDrive%\Windows\Tasks\Google*
del %SystemDrive%\Windows\Tasks\Facebook*
Responder3
Acabei aqui enquanto procurava uma maneira de automatizar a desativação de algumas tarefas agendadas do Windows. Não consegui fazer com que nenhum dos exemplos atuais lidasse adequadamente com nomes de tarefas com barras invertidas e espaços. Descobri que usar o formato csv e o comando find funcionou melhor para mim:
for /f "tokens=1 delims=," %%x in ('schtasks /query /fo csv ^| find "\Microsoft\Windows\Application Experience\"') do schtasks /Delete /TN %%x /F
Responder4
A resposta de Mark funciona bem, desde que você tenha nomes de tarefas agendadas bastante curtos, mas a saída padrão de schtasks /query
(formato de tabela) trunca os nomes das tarefas para 32 caracteres, o que causa erros ao tentar excluí-los.
Se você precisar lidar com tarefas com nomes mais longos, recomendo usar o formato de saída de lista, que não trunca:
for /f "tokens=2 delims=\" %%x in ('schtasks /query /fo:list ^| findstr abctask') do schtasks /Delete /TN %%x /F
Se as tarefas que você deseja excluir tiverem um prefixo comum, você poderá refinar ainda mais a correspondência em findstr:
for /f "tokens=2 delims=\" %%x in ('schtasks /query /fo:list ^| findstr ^^abctask') do schtasks /Delete /TN %%x /F