我正在使用 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.
我错过了什么?我该如何解决这个问题?
答案1
我认为任务调度程序 GUI 没有提供任何运行交互式任务的方法。但 AT 命令似乎提供了。我发现这technet 上的文章描述了(除其他内容外)AT 命令的 /interactive 开关。
答案2
如果您将计划任务设置为“仅在用户登录时运行”,并且您以该用户身份登录,则执行任务时将显示命令窗口。
如果将其设置为“无论用户是否登录都运行”,它将隐藏命令窗口。我猜这是您选择的选项。我认为没有办法让它使用此选项显示命令窗口。
因此您需要更改“运行”选项。
答案3
在阅读了您的帖子和要求后,我发现它也符合我的要求。我确实遵循了以下步骤,并能够在桌面(前台)上运行我的批处理脚本;
- 在下面“行动”-> “启动程序”
- 在下面“程序/脚本”- “C:\windows\system32\cmd.exe /C 启动D:\(脚本目录的路径)\批处理脚本.bat”
- 在下面“一般的” -> 设置“仅在用户登录时运行”
- 就我而言,我使用管理员用户 ID,并且可以保留我的登录会话“已锁定”,我不知道您的情况,您或其他人是否使用不同的 ID 登录 Windows 2008 r2。因此,通过这种方式,我可以使用 Windows 调度程序在我的 Windows 2008 r2 服务器上获得所需的输出。
答案4
解决您的问题的更好的方法可能是将错误和输出重定向到日志文件,然后只跟踪该日志文件。