我有一个批处理脚本,可以在命令提示符的同一行显示两种或两种以上颜色的文本。 (下)如何使用命令行参数来控制打印多色文本的批处理程序?
@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"
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
但是,通过用记事本编辑批处理文件,必须事先在脚本中输入文本。我想能够只需打开命令提示和输入像:
cecho /blue hello world!
或
cecho blue "hello world!"
或简单的东西,其中i可以提供颜色(优选为一个字符串不是一种颜色代码)和文本(带或不带引号)。
我不知道这是任何对你有用,但它是可以节省这部分脚本:
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof
(摘自“:ColorText”去年底脚本) 并将其保存为“C:\ windows \ system32”中的“ColorText.bat”。然后在脚本中的另一半,你到处看到:
call :ColorText
将其更改为:
call ColorText
(省略冒号) 并保存脚本colors.bat在“C:\ Windows \ System32" 下。然后打开命令提示符并输入“颜色”。这就是我想要的功能;没有额外的命令,安装脚本,文件路径;只是一个简单的一个或两个字的功能,在背景中发生所有这些杂乱的代码(在视线之外)。然而,上述想法仍然不会让我从命令提示符指定我自己的文本或颜色....任何想法?
不要把自己的文件系统位置。您可以更改'PATH'环境变量以添加驻留在配置文件中的位置。 – Joey