@ECHO OFFSETLOCAL ENABLEEXTENSIONSCALL :CECHO 0A "normal " "Los cometas del latin cometa y el griego kometes son cuerpos celestes constituidos por hielo y rocas que orbitan el Sol siguiendo orbitas muy elipticas" " normal"CALL :CECHO 0A "normal " "Texto coloreado" " normal"CALL :CECHO 0A "normal " "Texto coloreado" " normal"CALL :CECHO 0B "normal " "Texto coloreado"CALL :CECHO 0C "Texto coloreado"CALL :CECHO 0D "Texto coloreado"CALL :CECHO 0E "Texto coloreado"CALL :CECHO 0F "Texto coloreado"CALL :CECHO CF "Texto coloreado"CALL :CECHO AF "Texto coloreado"CALL :CECHO F0 "Texto coloreado"CALL :CECHO EE "amarillo sobre amarillo"PAUSEEXIT /B 0:CECHO::Autor: Carlos ::Version 1.0 22:42 07-05-2009::Se pueden recibir tres argumentos de texto.::Cada argumento debe ir encerrado entre comillas.::Si se recibe un solo argumento este es el texto coloreado.::Si se recibe dos argumentos o tres argumentos,::el segundo argumento es el texto coloreado.::Si el texto coloreado tiene mas de 150 caracteres,::el texto coloreado es truncado a 150 caracteres y::se recibe un mensaje avisando la accion.::Basado en el trabajo de: Frank P. Westlake::disponible en::: http://groups.google.co.uk/group/alt.msdos.batch.nt:: /browse_thread/thread/f819acd4582d5de3/8c81192068307388SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSIONPUSHD "%USERPROFILE%\"IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1MD COLORCD COLORSET "C="SET "L1="SET "L2="SET "L3="SET "C=%~1"ECHO.!C!|FINDSTR /R /I "\<[0-9A-F][0-9A-F]\>" > NUL || (ECHO. DEBE ESPECIFICARSE UN COLOR HEXADECIMAL.ECHO. COLOR /?EXIT /B 1)SET /A "TAM=0"SET "L1=%~2"SET "L2=%~3"SET "L3=%~4"IF NOT DEFINED L2 (SET "L1="SET "L2=%~2"SET "L3=")CALL :CLEAN CCALL :CLEAN L1CALL :CLEAN L2CALL :CLEAN L3IF DEFINED L2 CALL :LEN "%L2%"IF %TAM% GTR 150 (ECHO.ECHO.TEXTO COLOREADO REDUCIDO A 150 CARACTERES DE LONGITUDECHO.)IF DEFINED L2 SET "L2=%L2:~0,150%"IF DEFINED L2 ECHO.%L3%>"%L2%"0>NUL SET /P "_=%L1%"FINDSTR.EXE /A:%C% /R "^" "*"POPDIF EXIST "%USERPROFILE%\COLOR" DEL /F /Q /A "%USERPROFILE%\COLOR" > NUL 2>&1IF EXIST "%USERPROFILE%\COLOR\" RD /S /Q "%USERPROFILE%\COLOR" > NUL 2>&1:LENSETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSIONSET /A CONTL=0SET "WORDL=%~1":_LOOPLIF NOT DEFINED WORDL (GOTO :_ENDL)SET "WORDL=%WORDL:~1%"SET /A CONTL +=1GOTO :_LOOPL:_ENDLENDLOCAL & SET /A TAM=%CONTL%EXIT /B 0:CLEAN::deja solo caracteres dentro del rango a-z 0-9::y espacio en el contenido de las variables.::version 2.0::Version modificada con mas caracteres::solo para trabajar con funcion cecho.::Los caracteres agregados son: # $ + - = @::Recibe un parametro con el nombre de la variable::que se quiere filtrar su contenido.::Ejemplo:::call :clean nombreDeMiVariable::autores: Matt Alvariz , Carlos @SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION @SET "V=%*" @SET "S=!%V%!" @IF NOT DEFINED S EXIT /B 1 @SET "V=":LOOP @FOR %%* IN (" " 0 1 2 3 4 5 6 7 8 9 A B C D E F GH I J K L M N O P Q R S T U V W X Y Z# $ + - = @) DO @IF /I "!S:~0,1!" EQU "%%~*" SET "V=!V!!S:~0,1!" @SET "S=!S:~1!" @IF DEFINED S GOTO :LOOP @(ENDLOCAL & SET %*=%V%) @SETLOCAL ENABLEEXTENSIONS @EXIT /B 0
excelente aporte gracias pero aun no entiendo muy bien como se hace !! alguien puede explicar ahunque sea un poquito jejeaun soy neofito en este tema XD!!