有没有办法让它可以显示这样的文字?:
你好,你好吗?
并且每个单词都是不同的颜色?
批处理代码。 我知道Color命令,但是:)
答案 0 :(得分:2)
与fvu所说的不同,有一种相当简单的方法可以做到这一点。
首先,将其复制到文本编辑器中并将其另存为ncol.bat
。确保将其保存在与其他文件相同的位置。
@echo off
setlocal
if "%~1"=="/?" (
echo.
echo ncol ["Text"] [Colour]
echo.
echo "Text" - The text you want displayed in another colour.
echo Remember that spaces cannot be added if you don't put the text in
echo quotation marks (""^).
echo.
echo Colour - The hexadecimal colour code that you want the text to be changed into.
echo For more information of colour codes, see "color /?"
echo.
exit /b
)
for /f "delims=#" %%i in ('"prompt #$H# &for %%b in (1) do rem"') do set "bs=%%i"
<nul >"%~1.@" set /p "=.%bs%%bs%%bs%%bs%"
findstr /p /a:%2 . "*.@"
endlocal
del "*.@"
@echo on
@exit /b
以下是如何使用它的示例...
ncol "Hello, " 01 && ncol "how " 02 && ncol "are " 03 && ncol "you" 04
这会在黑色显示红色Hello,
,黑色显示绿色how
,黑色显示青色are
,黑色显示红色you
。
不幸的是,我的简单版本无法处理特殊字符(如问号),但有一些可以处理(本网站和www.dostips.com都有)。
所以,好运。
答案 1 :(得分:1)
是的,如果您使用cmdcolor:
echo \033[91mHello, \033[92mhow \033[93mare \033[94myou?
Hello,
为红色,how
- 绿色,are
- 黄色,you?
- 蓝色。
答案 2 :(得分:0)
不,你不能,因为cmd不理解修改文本颜色所需的ANSI转义序列。现在,根据您的冒险行为this neat trick,ansicon等额外实用程序或使用bash可能都是可行的解决方法。
答案 3 :(得分:0)
使用Visual Studio Community 2015,人们(和我)制定了扩展BATCH限制的程序。基本上,人们(和我)制造一个外部的&#34; Command&#34;如果你愿意的话。 Batbox让工作做得最好。将应用程序放在BATCH文件的当前目录中并尝试执行类似这样的操作
batbox /g 20 20 /c 0x0f /d "Hello" /c 0x0a /d " World" /c 0x09 /d "!"
它应该带有丰富多彩的文字说&#34; Hello World!&#34;。 Batbox使用标签 here are all tags。我会给你一些
/g = Cursor Position (Ex: batbox /g 20 20)
/c = Color (Ex: batbox /c 0x0f) Make sure 0x is before color
/d = Prints text. (Ex: batbox /d "Hello World")
此外,您还可以获得鼠标点击和击键!
batbox /k
按键将以%errorlevel%和键盘格式(数字)
返回batbox /m
batbox /y
将获得鼠标点击。由于它返回三个退出代码,我们需要一个for语句。
for /f "delims=: tokens=1,2,3" %%A in ('batbox /m') do set/a "x=%%A", "y=%%B", "M=%%C"
X和Y应该只是自我探索,但你问的是什么? M是单击的变量。左键单击并右键单击。左键单击= 1右键单击= 2。如果按下一个键,它将返回一个idk格式的数字。在总结batbox中可以做很多事情!