I'm attempting to use a .bat file here and can't quiet get my desired results.
Here's the problem spot:
setlocal enabledelayedexpansion
REM Import our message
set messagelines=0
for /F "tokens=*" %%B in (Myfile.txt) do (
    SET /A messagelines=!messagelines! + 1
    set message!messagelines!=%%B
)
set message
for /L %%C in (1,1,%templatelines%) do (
    REM template%%C defined above
    call :strlen length template%%C
    set string=!message%%C!
    echo !length!
    set string=!string:~0,3!
    REM **** DOESNT WORK ****
    set string=!string:~0,!length!!
    echo !string!
)
REM Finish
exit 1
:strlen <resultVar> <stringVar>
(   
    setlocal EnableDelayedExpansion
    set "s=!%~2!#"
    set "len=0"
    for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
        if "!s:~%%P,1!" NEQ "" ( 
            set /a "len+=%%P"
            set "s=!s:~%%P!"
        )
    )
)
( 
    endlocal
    set "%~1=%len%"
    exit /b
)
Everything always displays properly however I am unable to use my length variable to do a substring of my message.
I've tried a few different ways and still am unclear on what to do.
Thanks in advance.



