Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF
- REM Stringlength Function By JEB https://stackoverflow.com/a/5841587/12343998
- Set "test=whatever you / ? > want it to {} ][ be! @ # $ % ^ & * ~ `;_ + = | ( \ ) "" >< 80"
- Call :StrLen1 result1 test
- Call :StrLen2 result2 test
- ECHO(%result1%
- ECHO(%result2%
- pause
- exit
- :StrLen1
- (
- Setlocal EnableDelayedExpansion
- (set^ tmp=!%~2!)
- If Defined tmp (
- Set "len=1"
- For %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) Do (
- If "!tmp:~%%P,1!" NEQ "" (
- Set /a "len+=%%P"
- Set "tmp=!tmp:~%%P!"
- )
- )
- ) else (
- Set "len=0"
- )
- )
- (
- ENDLOCAL
- Set "%~1=%len%"
- exit /b
- )
- :StrLen2
- (
- Setlocal EnableDelayedExpansion
- CALL Set "tmp=!%~2!"
- If Defined tmp (
- Set "len=1"
- For %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) Do (
- If "!tmp:~%%P,1!" NEQ "" (
- Set /a "len+=%%P"
- Set "tmp=!tmp:~%%P!"
- )
- )
- ) else (
- Set "len=0"
- )
- )
- (
- ENDLOCAL
- Set "%~1=%len%"
- exit /b
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement