Nic*_*icJ 11

您是通过schtasks.exe命令行创建新任务还是更新现有任务?

在Vista中,schtasks.exe/xml两个选项/create/query.使用此任务的XML编码,您可以看到WakeToRun可以设置节点以从睡眠状态唤醒计算机以运行任务:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    ...
  </RegistrationInfo>
  <Triggers />
  <Principals>
    ...
  </Principals>
  <Settings>
    ...
    <WakeToRun>true</WakeToRun>
    ...
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>myprogram.exe</Command>
    </Exec>
  </Actions>
</Task>
Run Code Online (Sandbox Code Playgroud)

如果需要从唤醒计算机的命令行创建任务,可以将任务的基础导出到XML,修改此XML以添加WakeToRun,然后重新导入此XML定义.你可以这两种方式:

  1. 在任务计划程序UI中,选择"唤醒计算机以运行此任务",右键单击任务和Export...XML.然后,您可以在另一台计算机上重新导入此文件(请参阅下文),并设置"唤醒 - 运行".要么,

  2. 通过命令行,创建一个具有基本设置(动作,时间等)的任务.然后,导出XML,以编程方式添加WakeToRun节点(通过XSLT或搜索/替换),然后重新导入此更新的XML:

    schtasks.exe/create/tn/xml MyTask.xml/f


小智 6

在步骤2中命令行; schtasks.exe /create /tn /xml MyTask.xml /f 这可能会引发错误; 无效的语法.缺少强制选项'tn'.

/tn需要一个名字.这应该是

schtasks.exe /create /tn MyTask /xml "C:\MyTask.xml" /f
Run Code Online (Sandbox Code Playgroud)

如果您在名称中有或者想要一个空格,您可以使用;

schtasks.exe /create /tn "My Task With Spaces" /xml "C:\My Task With Spaces.xml" /f
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助...