如何每两周安排批处理脚本文件?

时间:2015-04-24 15:02:37

标签: batch-file scheduled-tasks scheduling

我有批处理文件,它自己调用多个批处理文件。当文件在特定路径中丢失时,我需要每两周运行一次(星期五的10 A.M)。

我检查了Windows任务调度程序,但它没有双周选项。我认为我们可以使用触发器选项(当文件在路径中出现时触发)来启动此批处理文件,但不知道如何执行此操作。能否请你帮忙?谢谢。

2 个答案:

答案 0 :(得分:2)

在任务计划程序中,如果您将计划设置为每周,则可以将“每次重复:”设置为2.仅勾选星期五框,并将开始时间设置为10:00:00。

至于检测文件何时被删除,我不认为你可以从那里,因为它只是在寻找系统事件。

答案 1 :(得分:0)

/MO开关:

SCHTASKS /Create /SC weekly /D FRI /MO 2 /TN THE_TASK_TM /ST 10:00 /TR c:\some.bat 

用它和/sc weekly你可以指出你想要的周数。 可能会有更简单的方法,但我需要思考一下。

编辑 - 我错了./MO它是间隔所以你可以把它留到2 - https://technet.microsoft.com/en-us/library/cc725744.aspx 每隔一周搜索""打出正确的例子。

其他方法是使用控制面板中的计划任务UI或将XML传递给类似于此的schtasks(编辑您需要的东西):

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2015-04-24T18:41:41.2112185</Date>
    <Author>computer\user</Author>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2015-04-24T18:40:56.2090861</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByWeek>
        <DaysOfWeek>
          <Friday/>
        </DaysOfWeek>
        <WeeksInterval>2</WeeksInterval>
      </ScheduleByWeek>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>computer\user</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <Duration>PT10M</Duration>
      <WaitTimeout>PT1H</WaitTimeout>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>the_bat.bat</Command>
      <Arguments>x</Arguments>
      <WorkingDirectory>c:\</WorkingDirectory>
    </Exec>
  </Actions>
</Task>