This is the example, a shortcut was installed to this code
:
@echo off
::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:: $Header: C:/DBAREIS/Projects.PVCS/Win32/ScriptingTipsAndTricks/EXAMPLE[cmd].PADDING() [Pad on Left,Right, No Truncation].cmd.txt.pvcs 1.0 29 Jun 2014 12:51:20 USER "Dennis" $
::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
Set VAL=XYZ
call :PADDING "VAL" "R #10"
echo VAL="%VAL%" ^<============
Set VAL=12
call :PADDING "VAL" "L0#10"
echo VAL="%VAL%" ^<============
goto :EOF
::============================================================================
:PADDING
:: Example specs are "R #50" & "L0#50" NOTE it is possible for no padding to be added
::===========================[ v14.1209a ]====================================
::--- Get parameters ----------------------------------------------------
set InOutVar=%~1
set PadSpec=%~2
set PadSide=%PadSpec:~0,1%
set PadChar=%PadSpec:~1,1%
set PaddedTo=%PadSpec:~3%
::--- Make sure that we won't be truncating the value -------------------
set ValueIn=!%InOutVar%!
set ValueXX=!ValueIn:~0,%PaddedTo%!
if not "%ValueIn:"=`%" == "%ValueXX:"=`%" goto :EOF
::--- Not truncating so need to pad and update env var ------------------
set Padding=
for /L %%A IN (1,1,%PaddedTo%) do set Padding=!Padding!%PadChar%
if /I "%PadSide%" == "L" set ValueOut=%Padding%%ValueIn%& set ValueOut=!ValueOut:~-%PaddedTo%!
if /I not "%PadSide%" == "L" set ValueOut=%ValueIn%%Padding%& set ValueOut=!ValueOut:~0,%PaddedTo%!
set %InOutVar%=%ValueOut%
goto :EOF