首页 > 解决方案 > schtasks.exe:任务计划程序无法从 XML 创建任务

问题描述

我正在尝试构建一个可以在我的 Inno Setup 安装程序中使用的命令,以按计划更新我的程序。这就是我到目前为止所拥有的。

schtasks /CREATE /TN "Search Deflector Updater" /RU SYSTEM /SC DAILY /TR "[REDACTED]\update.exe" /XML "updatetask.xml" /F

/RU SYSTEM用于隐藏由我的更新可执行文件创建的控制台窗口。

/TR "[REDACTED]\updater.exe"是程序安装位置中更新程序可执行文件的绝对规范化路径。

最重要的/XML "updatetasks.xml"是,该文件包含创建任务时应使用的设置。如果我使用它,我需要/S, /U, /P, /RU, /RP, /F, /IT, 或中的一个/TN

我已指定/TN, /F/RU但在运行命令时仍然出现错误。

ERROR: /XML option can only be used with /S /U /P /RU /RP /F /IT /TN

我不明白为什么,我已经满足了所有要求。

我的 XML 在下面。此外,将不胜感激有关将标记最小化为仅使任务按预期运行的绝对必要设置的建议。应该省略 XML 不需要显式指定/更改的默认值,或未使用/冗余的设置。我只是不知道它们是什么。

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<Triggers>
    <CalendarTrigger>
    <Enabled>true</Enabled>
    <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
    </ScheduleByDay>
    </CalendarTrigger>
</Triggers>
<Principals>
    <Principal id="Author">
    <RunLevel>HighestAvailable</RunLevel>
    </Principal>
</Principals>
<Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
    <IdleSettings>
    <StopOnIdleEnd>false</StopOnIdleEnd>
    <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
    <Priority>7</Priority>
    <RestartOnFailure>
    <Interval>PT5M</Interval>
    <Count>3</Count>
    </RestartOnFailure>
</Settings>
</Task>

谢谢。

标签: windowscommand-linecmdwindows-task-scheduler

解决方案


推荐阅读