[batch] Funcion :ohce (invierte una cadena)

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

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

The Shadow

@echo off
::OHCE
::Por: The Shadow|Shadow
::Info: Invierte una cadena especifica
::Parametros: %1=cadena
::Devuelve: %ohce%=cadena invertida
:ohce
set wrd=
set ohce=
if %1'==' goto er_o
set wrd=%1
set wrd=%wrd:"=cnf%
call :len %wrd%
set /a len=%len%-1
for /l %%a in (%len%,-1,0) do (
call :st %%wrd:~%%a,1%%
)
set ohce=%ohce:"=%
set ohce=%ohce:fnc="%
echo %ohce%
goto :EOF
:st
set p1=%1
set ohce=%ohce%%p1%
goto :EOF
: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 (
set bol=1
)
goto :EOF
:er_o
echo La sintaxis es: h2d [cadena]
goto :EOF