在服务器启动时运行.bat脚本并保留控制台

时间:2013-02-21 14:14:34

标签: batch-file scheduled-tasks windows-server

我可以使用控制面板中的计划任务安排在Windows Server中的系统启动时执行.bat脚本,并指定用户代表执行此执行。

但是当这个脚本启动并运行其他程序时,即使我登录系统,它们对我也都是不可见的。我在任务管理器中看到它们,并且只建立了一个用户会话。

他们的问题是,是否有办法使这些控制台和应用程序可见,所以我可以看到执行过程并在需要时停止它?

3 个答案:

答案 0 :(得分:1)

只要您的用户具有管理员权限,这很简单:在taskmanager的左下方有一个按钮,您可以“显示所有用户的进程”

我每天都这样做......

如果您对每个程序的stdout输出感兴趣,则必须将其输入到文本文件/日志文件中。

用于创建和写入新日志文件:

program.exe > logfile.txt

用于追加现有用途:

program.exe >> logfile.txt

在执行程序时使用tail(http://tailforwin32.sourceforge.net/)这样的日志文件滚轮来查看这些日志文件。

除此之外,我不认为,可以将其他用户的UI输出放到屏幕上,而无需以此用户身份登录。但是如果你真的登录了同一个用户会话,我认为当脚本执行程序时应该弹出程序UI。

答案 1 :(得分:1)

在“任务计划程序”中,当您选择要在系统启动时运行的任务时,右侧的“操作”窗格会显示“结束”。 “所选项目”菜单下的操作可用于停止该过程(作为使用“任务管理器”将其终止的替代方法)。正如Jurgen在他的回答中所解释的那样,在Windows资源管理器中运行脚本时,似乎没有任何方法能够真实地看到控制台窗口上的当前进程输出。

答案 2 :(得分:0)

在批处理文件的末尾,您可以输入

  pause

这将需要用户输入才能继续。 或者如果你想要,你可以把它放在陈述之间。

您也可以执行@echo并将消息传达给最终用户。