Task Scheduler如何运行exe的多个实例? 比方说,我有一个每天的日程安排,打开notepad.exe我希望每一天将打开一个新的,而只会打开第一个。
如果我第一次运行一个.bat来运行exe,一个控制台窗口会短暂出现,然后我需要一些方法来不显示任何控制台窗口。
请帮忙
你在做什么操作系统? 我使用notepad.exe示例(没有.cmd,只是启动notepad.exe)在Windows server 2008 R2上测试了这一点。 如果我在任务设置中设置了选项“如果任务已经在运行,那么以下规则适用:”>>并行运行一个新的实例。
如果我选择这个选项,那么每当计划的任务运行时,一个新的notepad.exe就会启动,否则只有第一个启动它。
/编辑:
对于Windows XP,您可以从另一个将退出的进程启动可执行文件。 Ryan提到,你可以使用.cmd批处理文件和START命令。 如果您不希望已登录的用户看到它运行,则可以将任务设置为以NT AUTHORITY \ SYSTEM身份运行
如果批处理文件是正确创作的,那么控制台窗口应该只显示几分之一秒,然后消失。
start notepad myfirstfile.txt start notepad mysecondfile.txt exit /B 0
这不应该是一个问题,尤其是因为计划任务的主要原因是在没有人看电脑时运行。
如果控制台窗户的瞬间外观确实是一种难以对抗自然的恶意犯罪,那么您需要一个不会创建控制台窗口的解决方案。 看到这个超级用户线程的一些脚本建议。
另外,因为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; }