Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在服务器启动和保持控制台上运行.bat脚本_Batch File_Scheduled Tasks_Windows Server - Fatal编程技术网

Batch file 在服务器启动和保持控制台上运行.bat脚本

Batch file 在服务器启动和保持控制台上运行.bat脚本,batch-file,scheduled-tasks,windows-server,Batch File,Scheduled Tasks,Windows Server,我可以使用“控制面板”中的“计划任务”计划在Windows Server中的系统启动时执行.bat脚本,并指定一个用户代表该用户执行此执行 但是,当这个脚本启动并运行其他程序时,即使我登录到系统中,它们对我来说都是不可见的。我在任务管理器中看到它们,并且只建立了一个用户会话 他们的问题是,是否有办法使这些控制台和应用程序可见,这样我就可以看到执行过程并在需要时停止它?在批处理文件的末尾,您可以放置一个 pause 这需要用户的输入才能继续。 或者,如果你愿意,你可以把它放在语句之间 您还可

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

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


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

在批处理文件的末尾,您可以放置一个

  pause
这需要用户的输入才能继续。 或者,如果你愿意,你可以把它放在语句之间


您还可以执行@echo并向最终用户传递消息。

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

我每天都这样做

如果您对每个程序的stdout输出感兴趣,那么必须将其通过管道传输到textfile/logfile中

要创建和写入新日志文件,请使用:

program.exe > logfile.txt
要附加到现有的一个用途,请执行以下操作:

program.exe >> logfile.txt
在程序执行时,使用日志文件滚轮(如tail())查看这些日志文件


除此之外,我认为不可能在不以该用户身份登录的情况下将其他用户的UI输出显示到您的屏幕上。但是,如果您确实登录到同一个用户会话,我认为当脚本执行程序时,应该弹出程序UI

在任务计划程序中,当您选择要在系统启动时运行的任务时,右侧的“操作”窗格在“选定项”菜单下有一个“结束”操作,您可以使用该操作停止进程(作为使用任务管理器终止进程的替代方法)。正如Jurgen在回答中所解释的那样,似乎没有任何方法可以像从Windows资源管理器运行脚本时所期望的那样在控制台窗口上实际查看当前进程输出。

您可以在taskmanager上安排任务,如下所示:谢谢,Jürgen;实际上应用程序中已经有了记录器,这里的情况是提供在屏幕上查看最新消息的能力;但在我看来,只有在现有浏览器会话中执行的应用程序才能在屏幕上显示输出;如果之前启动过应用程序(通过计划任务或使用系统内部的自动登录),它将仅在process explorer或task manager中可见,但通知区域中不会有窗口或图标mhm…似乎取决于任务启动和登录的时间顺序。在另一个应用程序中,我们还每小时启动一个批处理脚本,以从简单的access数据库发送一些数据。当我在这个终端上工作时,它经常令人不安,当access数据库屏幕每小时出现一次时,我必须重新审视我的工作。我们使用任务调度器来实现这一点。所以我想知道唯一的问题是系统启动。另一种可能是通过windows autostart启动它,您可以在注册表项HKLM\SOFTWARE\Microsoft\windows\CurrentVersion\Run中配置它