[batch] Funcion :len (devuelve la longitud de una cadena)

Iniciado por The Shadow, 18 Febrero 2008, 21:32 PM

0 Miembros y 1 Visitante están viendo este tema.

The Shadow

@echo off
::LEN
::Por: The Shadow|Shadow
::Info: Regresa la longitud de la cadena especificada.
::      Si la cadena contiene espacios, el script
::      tomara la cadena que esta antes del 1er espacio.
::Parametros: %1=cadena
:len
if %1'==' echo La sintaxis es: len [cadena] && goto :EOF
set w=%1
set a=0
set bol=0
:lp
call :cnt "%%w:~%a%,1%%" %a%
if %bol%==1 goto :EOF
set /a a=%a%+1
goto lp
:cnt
set cur=%1
set len=%2
if %cur%a==""a (
echo %len%
set bol=1
)
goto :EOF