Task Scheduler如何运行exe的多个实例?

时间:2011-07-07 11:22:04

标签: windows scheduled-tasks

Task Scheduler如何运行exe的多个实例? 假设我每天都有计划打开notepad.exe 我希望每一天都会开一个新的,而不是只打开第一个。

如果我第一次运行.bat来运行exe,那么控制台窗口会短暂出现,然后我需要一些方法来不显示任何控制台窗口。

请帮忙

2 个答案:

答案 0 :(得分:2)

你在尝试使用什么操作系统?我使用你的notepad.exe示例(没有.cmd,只是启动notepad.exe)在Windows Server 2008 R2上测试了这个。如果我在任务设置中设置选项“如果任务已在运行,则适用以下规则:”>>并行运行新实例。

如果我选择此选项,则每次计划任务运行时都会启动一个新的notepad.exe,否则只有第一个启动它。

/编辑:

对于Windows XP,您可以从另一个将退出的进程启动可执行文件。正如Ryan所提到的,您可以使用.cmd批处理文件和START命令。如果您不希望登录的用户看到它运行,您可以将任务设置为以NT AUTHORITY \ SYSTEM

运行

答案 1 :(得分:0)

如果批处理文件是正确创作的,那么控制台窗口应该只显示几分之一秒,然后消失。

start notepad myfirstfile.txt
start notepad mysecondfile.txt
exit /B 0

这应该不是问题,特别是因为计划任务的主要原因是当没人在看电脑时运行。

如果控制台窗口的瞬间外观确实是对自然的难看的犯罪,那么您需要一个不会创建控制台窗口的解决方案。有关脚本建议,请参阅this superuser thread

或者,由于stackoverflow用户是程序员,你可以写一个非常简单的.exe来做你想要的:

int CALLBACK WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
   ShellExecute(NULL, NULL, "c:\\windows\\notepad.exe", "myfirstfile.txt", NULL, SW_SHOWDEFAULT);
   ShellExecute(NULL, NULL, "c:\\windows\\notepad.exe", "mysecondfile.txt", NULL, SW_SHOWDEFAULT);
   return 0;
}