( ) , , , ( %), ; for (, %%I) (, %1), , .
, , .
. Center , , , %Center% echo %spaces%%Center%.
script:
@echo off
setlocal DisableDelayedExpansion
title Center Text
mode 80,50
set "cmdwidth=80"
:Display
cls
set "Center=This is a test!" & call :CenterText Center strLen
echo/
pause
endlocal
exit /B
:CenterText
setlocal EnableDelayedExpansion
:CenterText_Loop
if not "!%~1:~%len%!"=="" set /A len+=1 & goto :CenterText_Loop
endlocal & set "%~2=%len%"
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
:AddSpace
set "spaces=%spaces% "
goto :eof
, :
exit exit /B script, cmd ;echo. echo/, , - echo ( ) ;set ;%1 %~1 %2 %~2, ;:AddSpace , :CenterTextDisplay goto;
, for /l %%a in (1,1,%indent%) do call :AddSpace :
for /l %%a in (1,1,%indent%) do call set "spaces=%%spaces%% "
: % call; , - , (, for if) call;