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

时间:2016-08-15 05:41:05

标签: windows batch-file cmd parameters

如果我的操作系统上没有msg.exe,我正在尝试使用cmd.exe模仿弹出消息框。但是我遇到的却是让我毫无意义。

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

我遇到的问题是,如果我在批处理文件中运行以下内容:

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"

但我不明白为什么/t在原始脚本中失败了。有人可以解释一下吗?

作为相关问题 - 不确定是否允许这种情况,在这种情况下忽略 - 任务计划程序允许手动创建“显示消息”操作,这是否在应用程序本身内实现?是否可以通过schtasks.exe

以编程方式进行设置

1 个答案:

答案 0 :(得分:2)

关于cmd.exe在指定/t时忽略/k - 实际上这似乎是一个cmd.exe错误,我可以在Windows 10版本1607上确认。不要屏住呼吸修复...

关于schtasks.exe - 您可以通过命令行参数直接创建一些计划任务功能。作为解决方法,您可以手动创建此类任务,导出它,也可以编辑导出的xml,然后使用schtasks /Create /XML mytask.xml重新创建它。请注意Display a message被声明为 (已弃用) ,因此在将来的版本中可能无效。