sexta-feira, 16 de dezembro de 2011

(Batch) Strlen em Batch

Encontrei uma função para strlen em batch na internet. Muito interessante e bem eficiente.
O uso dela é muito simples.

Segue o exemplo:
@echo off

call :strlen "teste"
echo A palavra "TESTE" tem exatamente %ERRORLEVEL% caracteres

PAUSE

:strlen
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
set __LEN=0
set __LEN_S=%~1
:strlen_loop
if "!__LEN_S!"=="" exit /B %__LEN%
for %%Q IN (32 16 8 4 2) DO if NOT "!__LEN_S:~%%Q!"=="" set /A __LEN=!__LEN!+%%Q&set __LEN_S=!__LEN_S:~%%Q!&goto :strlen_loop
set /A __LEN=!__LEN!+1&set __LEN_S=!__LEN_S:~1!&goto :strlen_loop


Função retirada do site -> https://gist.github.com/1185398

Abraços

Nenhum comentário:

Postar um comentário