4

Я хочу запланировать выполнение задачи из командной строки (используя schtasks.exe) для однократного запуска и удаления записи задачи из библиотеки планировщика заданий после ее завершения.

Просмотрев руководство по использованию, я остановился на этой команде:

schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC ONCE /ST 12:00 /Z

... но это дает мне эту ошибку (я использую Windows 10)

ERROR: The task XML is missing a required element or attribute.
(40,4):EndBoundary:

Посмотрев его в Интернете, я узнал об этой статье базы знаний, в которой предлагается использовать ключ /V1 чтобы избавиться от ошибки, но при добавлении /V1 меня просят ввести текущий пароль пользователя для планирования задачи. Я не хочу этого

Есть ли способ запланировать выполнение задачи один раз, а затем удалить из библиотеки задач после ее завершения?

Я пробовал это, но это не сработало:

schtasks /create /TN SomeTaskName /TR "schtasks /delete /TN SomeTaskName /F" /SC ONCE /ST 12:00

Удачное решение, которое я придумал, работает так:

schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC MINUTE /MO 1 /ST 12:00 /ET 12:02 /Z

У этого есть побочный эффект выполнения задачи трижды перед остановкой.

2 ответа2

2

Вы можете рассмотреть возможность использования Powershell, поскольку вы работаете в Windows 10. Я полагаю, что вы можете использовать Unregister-ScheduledTask -TaskName applog -Confirm:$false чтобы удалить запланированное задание без запроса подтверждения.

Кто-то еще сообщил о подобной проблеме, к которой пользователь порекомендовал добавить -Compatibility V1 (хотя я не уверен, что это по-прежнему выдает приглашение для ввода учетных данных пользователя).

0

Microsoft предлагает добавить /V1 к вашей команде, чтобы обойти эту проблему.

https://support.microsoft.com/en-gb/kb/2004151

Это даст вам:

schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC ONCE /ST 12:00 /V1 /Z

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .