2017-10-15 66 views
0

我有這個腳本,我不能設法得到多個字符串顏色。 這是腳本:如何在此批處理文件中使用多個字符串顏色?

: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 /LCOLOR /n,但我無法設法正確.....我知道該批並不真正支持多個顏色在一個命令窗口中,但它可能與外部文件。

任何人都可以幫我嗎?

〜Czgb

+0

由於您沒有張貼代碼顯示嘗試的色彩輸出,你的問題是題外話。該網站的想法是,你研究和學習自己張貼你的代碼,並突出你的特定區域的困難。您可以先從命令提示符下查看'COLOR /?'和'FINDSTR /?',因爲您顯然還沒有這樣做。您可以使用網站搜索和/或您選擇的搜索引擎來完成您的研究,然後您可以[編輯您的問題](https://stackoverflow.com/posts/46755447/edit)以相關代碼進行更新並信息。 – Compo

+0

@Compo我雖然有,但我無法做到這一點..我已經尋找解決方案,但沒有我已經嘗試的作品。這就是我提出這個問題的原因。 –

+0

Stack Overflow搜索[\ [batch-file \] colors](https://stackoverflow.com/search?q=%5Bbatch-file%5D+colors)列出了222個結果。我不相信這些解決方案都不適合你。也許你只需要更仔細地研究你的代碼和發佈的代碼,並自己嘗試更多。或者是發佈的腳本不是「* your *」腳本代碼,並且您不知道它是如何工作的以及要修改哪些內容以顯示不同顏色的輸出行? – Mofi

回答

0

大概msr.exe的身邊功能可以幫助您前景色和背景色添加到您的腳本的運行,請參閱下面的截圖。更多的用法和示例可以看到git文檔,如:msr on Windowsvivid demo

實際上,msr.exe/msr.gcc*是一個跨平臺exe文件/文本處理的my open project約1.6MB。

Enhance script

+0

感謝您的幫助,我會研究它。 –

+0

只需下載'msr.exe'(或'msr-Win32.exe',如果它是32位Windows的),並按照內置文檔[Windows上的msr](https://qualiu.github.io/msr/使用運行/ msr-Windows.html)添加到'PATH'(只搜索'SET PATH'),或者運行'msr.exe'查看底部。如果您想自動執行下載步驟,請按照以下示例進行操作:https://github.com/qualiu/msrTools/blob/master/fix-file-style.bat:'其中msr.exe xxx'。很高興聽到您的反饋意見並幫助您解決任何問題,希望這個小工具可以幫助您日常工作。 – Quanmao

相關問題