Task Scheduler如何运行exe的多个实例? 假设我每天都有计划打开notepad.exe 我希望每一天都会开一个新的,而不是只打开第一个。
如果我第一次运行.bat来运行exe,那么控制台窗口会短暂出现,然后我需要一些方法来不显示任何控制台窗口。
请帮忙
答案 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;
}