改进任务计划程序中的任务

改进任务计划程序中的任务

唤醒笔记本电脑后,我必须重新启动程序。触发器正在工作(https://www.sevenforums.com/general-discussion/308855-using-task-scheduler-restart-program-upon-wake-sleep.html

然后我有两个动作:

  1. taskkill /f /im “静默选项.exe”
  2. 启动一个包含以下内容的 .bat 文件:
    @echo off

    timeout 5 > nul

    start /min "" "C:\Program Files (x86)\Silent Option\Silent Option\Silent Option.exe"

我运行蝙蝠的原因是,如果我将 start /min "" "blabla.exe" 放在操作 2) 上,它实际上不会执行任何操作。

我尝试使用“start”和其余部分作为参数,以及整个start /min“”“blabla.exe”,但它们都不起作用。我还需要将程序的启动延迟至少3秒。

有没有办法摆脱.bat?

如果不是,我如何在另一个任务启动后触发一个任务?例如,Task1 终止 .exe 并利用内置任务计划程序延迟选项启动 .exe?

答案1

在任务计划程序 (TS) 的“程序/脚本”框中,您必须放置一个 .exe 或脚本,但它start是“cmd”shell 的内置命令,因此不起作用。
要在 TS 中执行任意 .cmd 命令链,而无需 .bat 文件:

  • 在“程序/脚本”中:cmd
  • 在“添加参数”中:/c "your .cmd command string"
  • 在“开始于”中:your\working\directory

有没有办法摆脱 .bat?
如果没有,我如何在另一个任务启动后触发一个任务?例如 Task1 终止 .exe 并 Task2 使用内置任务计划程序延迟选项启动 .exe?

当然。在 Task1 中,作为第二个操作,可以输入命令来更改 Task2,这将触发 Task2 的运行(有延迟)。一个小障碍是,当您尝试在命令行中更改 Task2 中的某些内容时,例如:(
schtasks /change /tn Task2 /it
表示/it交互;这只是一个虚拟更改,实际上不会更改 Task2 中的任何内容,因为我假设您将使用“仅在用户登录时运行”来创建它)
然后(与“schtask.exe”文档所说的相反!)它会要求用户输入“以...身份运行”密码...
在您的情况下我们不希望出现这种情况...所以我们可以通过输入重定向来规避它:
schtasks /change /tn Task2 /it < file_with_password.txt

现在我们准备好了:

  1. 创建任务 2,其内容为:
    常规:“仅在用户登录时运行”;
    触发器为“在任务创建/修改时”和“延迟任务:”5 秒(您的选择);
    操作:“程序/脚本”cmd和“参数”:
    /c " start /min "" "C:\Program Files (x86)\Silent Option\Silent Option\Silent Option.exe" "
  2. 创建“pass.txt”文件存储用户通行证(Task2“运行”的文件)
  3. 创建任务 1,其中第一个操作是您的终止命令,第二个操作是:
    “程序”:cmd“参数”:/c "schtasks /change /tn Task2 /it < path\to\pass.txt"

我已经在我的 Windows 7 上测试过了。

相关内容