@echo off
::: Experimental Module
set /a s=0
title %date% @ %time% playtime.bat by -JpE-
:start
if %s% geq 2 cls & set /a s=0
echo .
echo .
echo %date% @ %time%
set /a a=11 & set /a b=4 & set /a c=115
echo .
set /a s+=1
echo a==%a%, b==%b%, c==%c%
call :funct1 a,b,c
goto start
::::::::::::::::::::::::::::::::::::::::::::
:funct1
set g=%~2
set h=%~3
call :funct2 z,x,%g%,%h%
call :funct4 %z%,%x%,%g%,%h%
exit /b %errorlevel%
:funct2 <ReturnVar1, ReturnVar2, Arg_g, Arg_h>
set /a g=%~3 & set /a h=%~4
set /a r=1
set /a d=1000
if %g% neq 0 if %g% gtr 0 set /a r=(%d%*%~4/%~3)
::: Return z & x as %~1 & %~2
call :funct3 z,x,r
::::::::::::::::::::::::::::
set "%~1=%z%"
set "%~2=%x%"
exit /b %errorlevel%
::: Calc :::
:funct3 <rr,mm,r>
set /a r=%~3
set bats=C:\Users\JpE\Documents\AAA Sync2Laptop\Batch Files\BCS-Suite
set strlen="%bats%\string_length.bat"
call %strlen% len,r
REM echo length of %r% is %len%
::: 1000 so 3 digits accuracy right of decimal point.
set /a lngt=3
set /a digi=(%len%-%lngt%)
echo * & echo . & echo len==%len% digi==%digi%
:::::::::::::::::::::::::
REM set /a mm=%r:~2,3%
call set /a mm=(%%r:~%digi%,%lngt%%%)
:::::::::::::::::::::::::
set /a rr=(%r%/1000)
::: Okay to here :::
echo sending back from funct3: rr==%rr%, mm==%mm%
set "%~1=%rr%"
set "%~2=%mm%"
exit /b %errorlevel%
::: Display :::
:funct4 <rr,mm,a,b,c>
echo .
echo A == %a%
echo B == %b%
echo C == %c%
echo .
echo C / B == %rr%.%mm%
echo .
pause
echo .
echo .
exit /b %errorlevel%
:return
echo Program Terminating
pause