我有這個腳本,我不能設法得到多個字符串顏色。 這是腳本:如何在此批處理文件中使用多個字符串顏色?
:Sentence 1
@echo off
setlocal enableextensions enabledelayedexpansion
set lines=1
set "line1=This Line in Blue, please" && set LineCount=26
for /f %%a in ('"prompt $H&for %%b in (1) do rem"') do set "BS=%%a"
for /L %%a in (1,1,%lines%) do set num=0&set "line=!line%%a!"&call :type1
pause>nul
goto :EOF
:type1
set /a LineCount-=1
if %LineCount% == 0 ping localhost /n 2 >nul && goto Sentence2
set "letter=!line:~%num%,1!"
set "delay=%random%%random%%random%%random%%random%%random%%random%"
set "delay=%delay:~-6%"
if not "%letter%"=="" set /p "=a%bs%%letter%" <nul
for /L %%b in (1,40,%delay%) do rem
if "%letter%"=="" echo.&goto :EOF
set /a num+=1
goto type1
:Sentence2
@echo off
setlocal enableextensions enabledelayedexpansion
echo.
set lines=1
set "line1=This Line in Red, please" && set LineCount=25
for /f %%a in ('"prompt $H&for %%b in (1) do rem"') do set "BS=%%a"
for /L %%a in (1,1,%lines%) do set num=0&set "line=!line%%a!"&call :type2
pause>nul
goto :EOF
:type2
set /a LineCount-=1
if %LineCount% == 0 ping localhost /n 2 >nul && goto end
set "letter=!line:~%num%,1!"
set "delay=%random%%random%%random%%random%%random%%random%%random%"
set "delay=%delay:~-6%"
if not "%letter%"=="" set /p "=a%bs%%letter%" <nul
for /L %%b in (1,40,%delay%) do rem
if "%letter%"=="" echo.&goto :EOF
set /a num+=1
goto type2
end
echo.
pause
exit
現在我想獲得不同的顏色這兩個字符串: - 此行的藍色,紅色請 - 這行,請
我試過FINDSTR /L
和COLOR /n
,但我無法設法正確.....我知道該批並不真正支持多個顏色在一個命令窗口中,但它可能與外部文件。
任何人都可以幫我嗎?
〜Czgb
由於您沒有張貼代碼顯示嘗試的色彩輸出,你的問題是題外話。該網站的想法是,你研究和學習自己張貼你的代碼,並突出你的特定區域的困難。您可以先從命令提示符下查看'COLOR /?'和'FINDSTR /?',因爲您顯然還沒有這樣做。您可以使用網站搜索和/或您選擇的搜索引擎來完成您的研究,然後您可以[編輯您的問題](https://stackoverflow.com/posts/46755447/edit)以相關代碼進行更新並信息。 – Compo
@Compo我雖然有,但我無法做到這一點..我已經尋找解決方案,但沒有我已經嘗試的作品。這就是我提出這個問題的原因。 –
Stack Overflow搜索[\ [batch-file \] colors](https://stackoverflow.com/search?q=%5Bbatch-file%5D+colors)列出了222個結果。我不相信這些解決方案都不適合你。也許你只需要更仔細地研究你的代碼和發佈的代碼,並自己嘗試更多。或者是發佈的腳本不是「* your *」腳本代碼,並且您不知道它是如何工作的以及要修改哪些內容以顯示不同顏色的輸出行? – Mofi