send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

colores.cmd (c1)

  • 0 Respuestas
  • 1283 Vistas

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

Desconectado @ed33x

  • *
  • Underc0der
  • Mensajes: 107
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Enero 22, 2011, 09:46:26 pm »
colores.cmd -> Grandisima aplicacion de Carlos capaz de colorear texto independiente en cualquiera parte del .bat

Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS

CALL :CECHO 0A "normal " "Texto coloreado" " normal"
CALL :CECHO 0B "Texto coloreado" " normal"
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"

PAUSE
EXIT /B 0

:CECHO
::Autor: Carlos
::Basado en el trabajo de: Frank P. Westlake
::disponible en:
:: http://groups.google.co.uk/group/alt.msdos.batch.nt
:: /browse_thread/thread/f819acd4582d5de3/8c81192068307388
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
PUSHD "%TEMP%\"
IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1
IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1
MD COLOR
CD COLOR

SET "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 "L1=%~2"
SET "L2=%~3"
SET "L3=%~4"
IF NOT DEFINED L2 (
SET "L1="
SET "L2=%~2"
SET "L3="
)
CALL :CLEAN C
CALL :CLEAN L1
CALL :CLEAN L2
CALL :CLEAN L3
ECHO.%L3%>"%L2%"
0>NUL SET /P "_=%L1%"
FINDSTR.EXE /A:%C% /R "^" "%L2%*"
POPD
IF EXIST "%TEMP%\COLOR" DEL /F /Q /A "%TEMP%\COLOR" > NUL 2>&1
IF EXIST "%TEMP%\COLOR\" RD /S /Q "%TEMP%\COLOR" > NUL 2>&1
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 G
H 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

Segunda version mejorada:
Código: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS

CALL :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"

PAUSE
EXIT /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/8c81192068307388
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
PUSHD "%USERPROFILE%\"
IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1
IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1
MD COLOR
CD COLOR

SET "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 C
CALL :CLEAN L1
CALL :CLEAN L2
CALL :CLEAN L3
IF DEFINED L2 CALL :LEN "%L2%"
IF %TAM% GTR 150 (
ECHO.
ECHO.TEXTO COLOREADO REDUCIDO A 150 CARACTERES DE LONGITUD
ECHO.
)
IF DEFINED L2 SET "L2=%L2:~0,150%"
IF DEFINED L2 ECHO.%L3%>"%L2%"
0>NUL SET /P "_=%L1%"
FINDSTR.EXE /A:%C% /R "^" "*"
POPD
IF EXIST "%USERPROFILE%\COLOR" DEL /F /Q /A "%USERPROFILE%\COLOR" > NUL 2>&1
IF EXIST "%USERPROFILE%\COLOR\" RD /S /Q "%USERPROFILE%\COLOR" > NUL 2>&1


:LEN
SETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
SET /A CONTL=0
SET "WORDL=%~1"
:_LOOPL
IF NOT DEFINED WORDL (GOTO :_ENDL)
SET "WORDL=%WORDL:~1%"
SET /A CONTL +=1
GOTO :_LOOPL
:_ENDL
ENDLOCAL & 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 G
H 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
« Última modificación: Noviembre 18, 2011, 08:24:09 pm por ~ Yoya ~ »
Me cambie de messenger ahora es: edeex@live.comYou are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

 

¿Te gustó el post? COMPARTILO!