Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 彩色行代码不接受变量作为颜色_Variables_Batch File_Colors_Cmd - Fatal编程技术网

Variables 彩色行代码不接受变量作为颜色

Variables 彩色行代码不接受变量作为颜色,variables,batch-file,colors,cmd,Variables,Batch File,Colors,Cmd,我正在编写一个批处理图像查看器,由屏幕上显示的像素组成,以一种实际的方式显示彩色单词、线条,甚至是同一行中不同颜色的字母。说我正在制作一个像素类型的图像查看器。问题是,我在堆栈溢出中找到的用于为行着色的代码不接受我在代码中调用命令时输入变量而不是颜色代码(请注意,该变量包含颜色代码)。 这是让我进行颜色编码的实际命令的代码: 这将以黄色背景和黑色字体显示“a”字母 我真正想做的事情是: %c1%实际上是从一个c1.txt文件中设置的,它的内容是E0,应该会产生相同的结果,只要使用.txt文件,我

我正在编写一个批处理图像查看器,由屏幕上显示的像素组成,以一种实际的方式显示彩色单词、线条,甚至是同一行中不同颜色的字母。说我正在制作一个像素类型的图像查看器。问题是,我在堆栈溢出中找到的用于为行着色的代码不接受我在代码中调用命令时输入变量而不是颜色代码(请注意,该变量包含颜色代码)。 这是让我进行颜色编码的实际命令的代码:

这将以黄色背景和黑色字体显示“a”字母

我真正想做的事情是:

%c1%
实际上是从一个c1.txt文件中设置的,它的内容是E0,应该会产生相同的结果,只要使用.txt文件,我就可以制作自己的图片格式,然后任何人都可以编辑该文件并制作自己的彩色像素,从而生成一张图片


这个答案的解决方案是,有人给了我一个我不喜欢的不同颜色代码,更聪明的做法是实际编辑这个代码,并以某种方式帮助我制作东西,以便它可以使用变量。或者我有我的另一个解决方案,但我不知道它会起作用,以及如何让它起作用。我可以再次使用变量呼出所有命令,然后将其保存到文本文件中(每一个),然后重新加载,但我不知道如何将变量用作实际命令。

您发现的颜色脚本不起作用?你可以试试。(是我最喜欢的。)你放在那里的卡车链接是我使用的链接。如果我真的写了一些颜色完美的东西,它只是不想接受当我使用一个变量而不是颜色代码时,要测试你最喜欢的tho。非常感谢你,伙计,我使用了你最喜欢的代码中使用的原始jeb方法。如果您愿意,您可以发布一个普通的答案,这样我就可以将其作为解决方案进行检查。我很感激,但答案太琐碎了。不管怎样,只要将其转换为注释即可。如果您谈论的是上面的脚本,您实际上从未
设置“ECHO.FILE=something”
。变量为空。如果要对变量而不是文件使用
findstr
,则需要对其进行管道传输<代码>回声(!str!| findstr等)
:Echo.Color %1=Color %2=Str [%3=/n]
setlocal enableDelayedExpansion
set "str=%~2"
:Echo.Color.2
set "str=a%ECHO.DEL%!str:\=a%ECHO.DEL%\..\%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%!"
set "str=!str:/=a%ECHO.DEL%/..\%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%!"
set "str=!str:"=\"!"
pushd "%ECHO.DIR%"
findstr /p /r /a:%~1 "^^-" "!str!\..\!ECHO.FILE!" nul
popd
for /l %%n in (1,1,12) do if not "!ECHO.FILE:~%%n!"=="" <nul set /p "=%ECHO.DEL%"
<nul set /p "=%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%%ECHO.DEL%"
if not "%~3"=="" echo.
endlocal & goto :eof
:Echo.Color.Var %1=Color %2=StrVar [%3=/n]
if not defined %~2 goto :eof
setlocal enableDelayedExpansion
set "str=!%~2!"
goto :Echo.Color.2

:Echo.Color.Init
set "ECHO.COLOR=call :Echo.Color"
set "ECHO.DIR=%~dp0"
set "ECHO.FILE=%~nx0"
set "ECHO.FULL=%ECHO.DIR%%ECHO.FILE%"
for /F "tokens=1 delims=#" %%a in ('"prompt #$H# & echo on & for %%b in (1) do rem"') do set "ECHO.DEL=%%a"
goto :eof
call :Echo.Color E0 "a"
call :Echo.Color %c1% "a"