Окно Windows 7 содержит список запланированных задач -> Задачи Windows по умолчанию + Некоторые пользовательские задачи, которые начинаются с определенной строки. Предыдущий код удалил все задачи с помощью команды:
schtasks /Delete /TN * /F
Вместо этого мы хотим сохранить задачи Windows , по умолчанию, а также выборочно удалять задачи , которые начинаются с определенной строкой говорит abctask1
, abctask2
. Как продолжить дальше? Спасибо!
schtasks /Delete /TN abctask* /F
?/query
опцией, просмотреть их, найти те, которые соответствуют вашему желаемому шаблону, и убить их, используя их полные имена. Что-то вроде Perl-скрипта может быть лучше для такого рода задач.Ответы:
Предполагая, что ваши задачи - это одно слово (например, abctask1, abctask2 - не «abc task 1»), это должно работать:
источник
find
, будучи меньше чем 1/4 размераfindstr
, отреагирует быстрее. Кроме того, оба поддерживают использование кавычек для окружения поискового запроса (find
требует их), что позволит найти такие задачи, как «abc task 1», которую вы упомянули.find
VS.findstr
, особенно в чем - то в этом небольшом. :-)for /f "tokens=2" %%x in ('schtasks /query /xml ^| findstr taskname') do
Если вы хотите использовать подстановочный знак (*) при выборе задач для удаления, попробуйте использовать эту простую пакетную команду:
(только образец)
источник
Я попал сюда в поисках способа автоматизации отключения некоторых запланированных задач Windows. Я не мог получить ни один из текущих примеров, чтобы правильно обрабатывать имена задач с обратной косой чертой и пробелами. Я обнаружил, что использование формата CSV и команда поиска работают лучше всего для меня:
источник
Вы, ребята, помогли здесь совсем немного. Хотя вышеприведенное работает для более коротких имен, а user3490 опубликовал довольно хорошее дополнение к строке, похоже, что оно не работает с именами с пробелами. Я обнаружил, что использование подстановочных знаков с SCHTASKS работает с '.' вместо '*' и нашел интересную модификацию строки, позволяющую столь необходимую возможность! Ниже я приведу примеры того, что я использовал в командном файле:
Спасибо всем здесь за отличные ссылки! Я знаю, что этой теме уже более года, но я надеюсь, что это поможет кому-то еще, кто, возможно, не зашел так далеко.
источник
Ответ Марка работает нормально, если у вас достаточно короткие имена запланированных задач, но вывод по умолчанию
schtasks /query
(формат таблицы) усекает имена задач до 32 символов, что приводит к ошибкам при попытке их удаления.Если вам нужно иметь дело с задачами с более длинными именами, я бы рекомендовал вместо этого использовать формат вывода списка, который не усекает:
Если задачи, которые вы хотите удалить, имеют общий префикс, вы можете дополнительно уточнить соответствие из findstr:
источник