如何让任务调度程序在调用批处理文件时显示 cmd shell?

Ala*_*ain 9 windows-command-prompt task-scheduler

我正在使用 Windows 2008 R2 并且我正在尝试在任务计划程序中安排我的应用程序。我已经使用正确的设置创建了一个批次。

我遇到的问题是:我需要显示 Cmd shell 窗口(运行 bat),但是任务调度程序在后台启动应用程序并且 Cmd 窗口无处可见。

我从任务调度程序中尝试了不同的东西:

- cmd /c start ...MyProgram.bat does not work.
- I tried calling my batch directly does not work.
- I also tried a piece of vbs script with winScriptHost.run does not work either.
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我该如何解决这个问题?

小智 17

如果您将计划任务设置为“仅在用户登录时运行”并且您以该用户身份登录,它将在执行任务时显示命令窗口。

如果将其设置为“无论用户是否登录都运行”,它将隐藏命令窗口。我猜这是您选择的选项。我认为没有办法让它使用此选项显示命令窗口。

因此,您需要更改“运行”选项。


Ash*_*raf 5

阅读您的帖子和要求后,我发现它也符合我的要求。我确实按照以下步骤操作,并且能够让我的批处理脚本在桌面上运行(在前台);

  • 在“操作” -> “启动程序”
  • “程序/脚本”下- “C:\windows\system32\cmd.exe /C start D:\(脚本目录的路径) \batch_script.bat”
  • “常规”下 -> 设置“仅在用户登录时运行”
  • 就我而言,我使用管理员用户 ID 并可以保持我的登录会话“锁定”,我不知道你的情况,无论你还是其他人使用不同的 id 登录 Windows 2008 r2。所以通过这样做我得到使用 Windows 调度程序在我的 Windows 2008 r2 服务器上获得所需的输出。


pip*_*eek 2

我认为任务调度程序 GUI 没有提供任何运行交互式任务的方法。但 AT 命令似乎确实如此。我在 technet 上找到了这篇文章,其中描述了 AT 命令的 /interactive 开关(除其他外)。