Windows – How to schedule a task (using schtasks.exe) to run once and delete itself

windowswindows 10windows task scheduler

I want to schedule a task from the command prompt (using schtasks.exe) to run once and delete the task entry from the Task Scheduler Library after completion.

After looking through the usage guide, I settled on this command:

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

…but that gives me this error (I'm running Windows 10)

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

Looking it up online, I found out about this KB article that suggests using the /V1 switch to get rid of the error but on adding /V1 I am asked for the current user password to schedule the task. I don't want that.

Is there any way to schedule a task to be executed once and then deleted from the task library after execution completes?

I've tried this, but it didn't work:

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

A kludgy solution I came up with that works is this:

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

It has the side-effect of performing the task thrice before stopping.

Best Answer

You may want to consider using Powershell since you're on Windows 10. I believe you can use Unregister-ScheduledTask -TaskName applog -Confirm:$false to delete a scheduled task without a confirmation prompt.

Someone else has reported a similar problem, to which a user recommended adding -Compatibility V1 (although I'm not sure if this still yields a user credential prompt).