मैं सरल कोड बनाने की कोशिश कर रहा हूं लेकिन इसे सुंदर बना रहा हूं: डी यदि संभव हो तो मैं इन्हें कोड में जोड़ना चाहता हूं लेकिन मुझे नहीं पता कि कैसे

call :ColorText 0a "Green"
set "Center=Code Options" & call :CenterText Center strLen

प्रत्येक काम अलग से ठीक है लेकिन मैं पाठ को केंद्रित और रंगीन बनाने के लिए दोनों को जोड़ना चाहता हूं

संपादित करें

मैं टेक्स्ट बनाना चाहता हूं "Code By ZeE" हरे रंग का होना है यह कोड है

@echo off
setlocal enabledelayedexpansion
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"
)
title New Title
:: color 2
mode 120,30
set "cmdwidth=120"  
cls             
echo.                               
:Display
echo.
echo.
echo.
echo.
echo.
echo.                               
echo.               
set "Center=-----------------------------" & call :CenterText Center strLen
set "Center=Code By ZeE" & call :CenterText Center strLen
set "Center=-----------------------------" & call :CenterText Center strLen
Call :ColorText 0a "lol"
echo.
pause               


:CenterText
  if not "!%1:~%len%!"=="" set /A len+=1 & goto :CenterText
(endlocal & set %2=%len%)
goto CenterTextDisplay
:AddSpace
set "spaces=%spaces% "
goto :eof
:CenterTextDisplay
set /a "indent=(cmdwidth - strLen)/2" 
set "spaces= "
for /l %%a in (1,1,%indent%) do call :AddSpace
echo %spaces%%Center%
set "len=0"
goto :eof
:ColorText
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1
goto :eof
0
Mr.ZQS 23 जुलाई 2019, 12:29

1 उत्तर

सबसे बढ़िया उत्तर

:CenterText प्रक्रिया में, बदलें

  echo %spaces%%Center%

प्रति

if "%~3" == "" (
  echo %spaces%%Center%
) else (
  Call :ColorText %~3 "%spaces%%Center%"&echo(
)

फिर, :CenterText प्रक्रिया कॉल में तीसरा पैरामीटर (रंग कोड) जोड़ने से मदद मिल सकती है:

set "Center=Code By ZeE" & call :CenterText Center strLen 0a
rem                                                       ^^
0
JosefZ 23 जुलाई 2019, 13:57