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

Alb*_*F D 5 windows parameters cmd batch-file

在我的操作系统上没有的情况下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"
Run Code Online (Sandbox Code Playgroud)

我得到了期望的结果,但是,如果我将/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"
Run Code Online (Sandbox Code Playgroud)

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

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

Jon*_*han 4

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

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