bat echo 輸出內容為不同的顏色
先看代碼:
@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 echo say the name of the colors, don't read :start rem cls 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" echo. echo aaaaaa pause goto :eof :ColorText echo off <nul set /p ".=%DEL%" > "%~2" findstr /v /a:%1 /R "^$" "%~2" nul del "%~2" > nul 2>&1 goto :eof
使用注意事項:
1.你的代碼放在 :start 和第一行 goto :eof之間
2.換行使用 echo.
3.最好使用雙引號把內容括起來,不然遇到空格就會報拒絕訪問的錯誤,內容如果包含特殊字符(例如:"a:!aa" 等等,一般是win不允許我們用來命名文件的符號),也可能導致報錯,或者字符不顯示,所以最好不要使用特殊字符,這個會在當前目錄生成一個臨時文件,以你的內容為命名,如果包含了那些字符,就會產生那些文件,最好不刪除,需要自己手動刪除。
4.關於顏色,有背景色和字體色,第一個數字代表背景色,第二個數字代表字體色,至於顏色值,在 cmd 中輸入 color /? 查看