首页 > 解决方案 > 命令提示符脚本:批处理文件中存在多种颜色的问题

问题描述

我知道我的问题已经有了答案,但我很笨,不知道如何更改这些答案中的代码以满足我的需要,所以请不要报告这个问题,而是帮助我解决这个问题.

示例代码:

@echo off
color 0a
echo #######################################
echo ##                                   ##
echo ##     ########################      ##
echo ##     ## Password Protected ##      ##
echo ##     ########################      ##
echo ##                                   ##
echo #######################################
choice /c:ws /n /m "thisisjustrandomtext" 
if %ERRORLEVEL% == 1 goto testpart1
if %ERRORLEVEL% == 2 goto testpart2

:testpart1
echo thisispart1
pause >NUL
exit

:testpart2
echo thisispart2
pause >NUL
exit

我如何制作“受密码保护”标志 IE 的情况:

########################
##                    ##
########################

是红色的,但其他一切都是绿色的。

标签: batch-filecmd

解决方案


这是我稍微修改的东西,没什么花哨的,只是向您展示可以做什么。原件来自Jeb的回答,虽然很老,但可以进行很多更改来改进它,但我现在根据我一天中的时间给你我所能做的:

@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 "clr=%%a"
)

echo/
call :change 4 #########################
echo/
call :change 4 "#     #"
call :change 2A "Some String"
call :change 4 "#     #"
echo/
call :change 4 #########################

goto :eof

:change
echo off
<nul set /p ".=%clr%" > "%~2"
findstr /v /a:%1 /r "^$" "%~2" nul
del "%~2" > nul 2>&1

推荐阅读