批处理 – CMD.exe / T参数选项不按预期设置颜色

在我的操作系统没有msg.exe ,我试图模仿使用cmd.exe的popup消息框。 但是我遇到的是让我感到无聊的事情。

我的最终目标是以编程方式使用.vbs脚本和schtasks.exe在任务计划程序中创build一个popup式提醒。

我有的问题是,如果我在batch file中运行以下:

 start "Alert" cmd.exe /t:f0 /k "mode con: cols=40 lines=10 & echo *** Message goes here *** & echo. & echo. & echo. & echo. & echo. & echo. & echo. & echo Press any key to exit & pause>nul" 

我得到所需的结果,但是,如果我将/k参数更改为/c (原始脚本中的预期),选定的前景/背景颜色无法正确显示…

我通过将脚本更改为:

 start "Alert" cmd.exe /c "mode con: cols=40 lines=10 & color f0 & echo *** Message goes here *** & echo. & echo. & echo. & echo. & echo. & echo. & echo. & echo Press any key to exit & pause > nul" 

但我不明白为什么我的原始脚本失败。 有人可以解释吗?

作为一个相关的问题 – 不知道这是否允许,在这种情况下忽略 – 任务计划程序允许手动创build一个“显示消息”的行动,这是在应用程序本身实现? 有可能通过schtasks.exe程序设置它?

关于cmd.exe在指定/k时忽略/t – 确实这看起来像是一个cmd.exe错误,我可以在Windows 10发行版1607上确认。不要屏住呼吸修复…

关于schtasks.exe – 有一些计划任务功能,您不能直接通过命令行参数创建。 作为一个解决方法,您可以手动创建这样的任务,导出它,也许编辑导出的XML,然后使用schtasks /Create /XML mytask.xml重新创建它。 注意Display a message被声明为(不赞成使用) ,所以它在未来的版本中可能不起作用。