cmd.exe 使用 /c 而不是 /k 时忽略 /t 颜色

cmd.exe 使用 /c 而不是 /k 时忽略 /t 颜色

假设我有一个.bat名为的简单文件,foo.bat仅包含

@echo off
:dostuff
echo bar
timeout /t 2 /nobreak
goto :dostuff

如果我从提示符运行它Microsoft Windows [Version 10.0.22621.3155]start cmd.exe /t:04 /k foo.bat则终端将打开黑色背景和红色文本

start cmd.exe /t:04 /c foo.bat如果我以正常的黑色背景和白色文本运行它,则会打开提示。

我在微软的文档中没有看到任何提到/t不支持的内容/c,有没有办法实现与相同的颜色行为/k

答案1

我还没有看到微软的文档中提到/t不支持/c

看了源代码,即使没有记录,似乎也故意不支持这种组合。

使用 Cmd 内置的 COLOR 命令 –color 04直接放入脚本中,或者如果您不想这样做,则提供color 04 && foo.bat快捷方式的命令:

cmd /k color 04 && foo.bat

start cmd /k color 04 ^&^& foo.bat

(类似这样的情况。转义&&取决于上下文。)

相关内容