1
한 줄에 여러 색상을 사용하는 방법이 있는지 궁금합니다 (예 : 'Hello world'가 Blue이고 'world'가 녹색 인 경우)(BATCH) 한 줄에 여러 색상이 있음
처음 엔이 어리석은 질문에 대해 유감스럽게 생각합니다 ... 나는 많은 연구를하고 있었고 그 중 일부는 제대로 작동하지 않았고 원하는 것을 얻는 더 쉬운 방법을 원했습니다. (
한 줄에 여러 색상을 사용하는 방법이 있는지 궁금합니다 (예 : 'Hello world'가 Blue이고 'world'가 녹색 인 경우)(BATCH) 한 줄에 여러 색상이 있음
처음 엔이 어리석은 질문에 대해 유감스럽게 생각합니다 ... 나는 많은 연구를하고 있었고 그 중 일부는 제대로 작동하지 않았고 원하는 것을 얻는 더 쉬운 방법을 원했습니다. (
@Echo Off
Call :Color 9 "hello"
Call :Color A " world"
Pause >Nul
Exit /B
:Color
:: v20 by carlos.
:: http://www.dostips.com/forum/viewtopic.php?f=3&t=4453
:: Arguments: hexColor text [\n]
:: Supported in windows XP, 7, 8.
:: In XP extended ascii characters are printed as dots.
:: For print quotes, use empty text.
SetLocal EnableExtensions EnableDelayedExpansion
Set "Text=%~2"
If Not Defined Text (Set Text=^")
Subst `: "!Temp!" >Nul &`: &Cd \
If Not Exist `.7 (
Echo(|(Pause >Nul &Findstr "^" >`)
Set /P "=." >>` <Nul
For /F "delims=;" %%# In (
'"Prompt $H;&For %%_ In (_) Do Rem"') Do (
Set /P "=%%#%%#%%#" <Nul >`.3
Set /P "=%%#%%#%%#%%#%%#" <Nul >`.5
Set /P "=%%#%%#%%#%%#%%#%%#%%#" <Nul >`.7))
Set /P "LF=" <` &Set "LF=!LF:~0,1!"
For %%# in ("!LF!") Do For %%_ In (
\/:) Do Set "Text=!Text:%%_=%%~#%%_%%~#!"
For /F delims^=^ eol^= %%# in ("!Text!") Do (
If #==#! SetLocal DisableDelayedExpansion
If \==%%# (Findstr /A:%~1 . \` Nul
Type `.3) Else If /==%%# (Findstr /A:%~1 . /.\` Nul
Type `.5) Else (Echo %%#\..\`>`.dat
Findstr /F:`.dat /A:%~1 .
Type `.7))
If "\n"=="%~3" (Echo()
Goto :Eof
놀라운! +1 카를로스에 대한 – SachaDee