异步任务计划程序操作

异步任务计划程序操作

解释

我想在登录时运行一些程序/文件,因此我使用任务计划程序,而不是启动文件夹或脚本,因为某些程序需要 UAC 提升,并且我相信任务计划程序的“以最高权限运行”将抑制提示。

 

问题

第一个动作永远不会正确退出,因此,由于任务动作是同步的,因此只有第一个动作会运行。

那么,有人知道如何使任务异步或者有其他建议吗?

 

设置

启动 - 触发器 启动 - 操作

答案1

我是根据以下评论讨论来到这里的:所以

老实说,我的启动菜单中有一些需要管理员权限的程序,这些程序似乎无需我的任何干预就能正常运行。

您是否尝试过将这些程序放入组策略登录/关闭脚本中?在计算机配置、Windows 设置下。我不确定这是否适合您。可能还有其他基于组策略的解决方案 - 但它们有点超出我的理解范围。

不过,我按照要求发表了我的评论 - 我根据您的实际问题对其进行了修改:

任务计划程序任务按顺序运行,而不是同时运行。如果您希望所有任务同时运行(并行),最简单的方法是创建多个任务同时运行(或在同一事件中运行,例如登录时)。如果需要,使用“延迟任务”高级选项错开它们的启动顺序。

答案2

我有一个用于启动每个程序的批处理文件。因为我希望所有程序异步运行,并且每个程序之间都有延迟(因为前两个程序需要大约 10-15 秒才能完全启动),所以我在每个程序行之间使用“ping localhost -n 15 >nul”来延迟。

效果非常好,这意味着我在 TS 中只有一个任务。

批处理文件示例:

@echo off
::Start prog 1
"C:\Program Files\prog1\prog1.exe"

::Need to wait 15 seconds for it to start
ping localhost -n 15 >nul

:: Start prog 2
:: Further progs & delays here if required, etc,etc...

答案3

由于启动的操作列表中的第一个程序仍在运行,因此任务计划程序中的等待脚本处理程序永远不会运行第二个程序,直到第一个程序完成。它旨在启动单个程序/操作或一系列短暂运行的操作。在这里,您希望将每个操作作为单独计划的任务运行。

答案4

您可以使用以下命令从批处理文件运行计划任务:

C:\Windows\System32\schtasks.exe /run /tn "????????"

其中????????是计划任务的名称。例如,如果您在任务计划程序库下创建一个名为 MyApps 的文件夹,并在该文件夹下创建一个名为 Fraps 的任务,则您的命令将如下所示:

C:\Windows\System32\schtasks.exe /run /tn "MyApps\Fraps"

您甚至可以使用它作为快捷方式直接启动 fraps,无需 UAC。

但在这种情况下,我只需先启动 Fraps,然后在“常规”选项卡中勾选该选项Run Fraps when Windows starts

相关内容