亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Windows批處理文件中有多種顏色?

如何在Windows批處理文件中有多種顏色?

回首憶惘然 2019-06-18 11:08:46
如何在Windows批處理文件中有多種顏色?我想知道是否有可能在Windows批處理文件中的同一行中有不同顏色的文本,例如,如果它說echo hi world我希望“嗨”是一種顏色,“世界”是另一種顏色。也許我可以將color命令設置為變量:set color1= color 2 set color9= color A然后將它們部署在同一條線上,同時echo hi world但我不知道我該怎么做。
查看完整描述

3 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

您可以在沒有任何外部程序的情況下進行多色輸出。

@echo off
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"
)
echo say the name of the colors, don't read

call :ColorText 0a "blue"
call :ColorText 0C "green"
call :ColorText 0b "red"
echo(
call :ColorText 19 "yellow"
call :ColorText 2F "black"
call :ColorText 4e "white"

goto :eof

:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof

它使用findstr命令的顏色特性。

Findstr可以配置為以定義的顏色輸出行號或文件名。
因此,我首先創建一個以文本為文件名的文件,內容是一個<backspace>性格(ASCII 8)。
然后,我在文件和nul中搜索所有非空行,因此文件名將以附加冒號的正確顏色輸出,但冒號將由<backspace>.

所有字符都是有效的。

@echo off
setlocal EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"
)

rem Prepare a file "X" with only one dot
<nul > X set /p ".=."

call :color 1a "a"
call :color 1b "b"
call :color 1c "^!<>&| %%%%"*?"
exit /b

:color
set "param=^%~2" !
set "param=!param:"=\"!"
findstr /p /A:%1 "." "!param!\..\X" nul
<nul set /p ".=%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%"
exit /b

這使用了有效路徑/文件名的規則。
如果\..\在路徑中,前綴元素將被完全刪除,并且不需要此元素只包含有效的文件名字符。


查看完整回答
反對 回復 2019-06-18
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

如果您有一個現代Windows(安裝了Powershell),那么下面的操作也會很好

call :PrintBright Something Something

  (do actual batch stuff here)

call :PrintBright Done!
goto :eof


:PrintBright
powershell -Command Write-Host "%*" -foreground "White"

根據你認為合適的情況調整顏色。


查看完整回答
反對 回復 2019-06-18
  • 3 回答
  • 0 關注
  • 1953 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號