elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24
161  Programación / Scripting / [DUDA][BATCH] Con la funcion CECHO :S en: 29 Diciembre 2009, 23:55 pm
Hola Saludos a todos, espero esten bien :)

En este mismo subforo encontré una función llamada CECHO que es capaz de colorear las palabras en un archivo .bat.-

A Ver el codigo de esa funcion es el siguiente :

Código
  1. :::::::::::::::::::::::::::::::::::::::::::::::::::::
  2. REM  Modulo Generador de Colores
  3. :CECHO
  4. SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  5. PUSHD "%USERPROFILE%\"
  6. IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1
  7. IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1
  8. MD COLOR
  9. CD COLOR
  10.  
  11. SET "C="
  12. SET "L1="
  13. SET "L2="
  14. SET "L3="
  15.  
  16. SET "C=%~1"
  17. ECHO.!C!|FINDSTR /R /I "\<[0-9A-F][0-9A-F]\>" > NUL || (
  18. ECHO. DEBE ESPECIFICARSE UN COLOR HEXADECIMAL.
  19. ECHO. COLOR /?
  20. EXIT /B 1
  21. )
  22. SET /A "TAM=0"
  23. SET "L1=%~2"
  24. SET "L2=%~3"
  25. SET "L3=%~4"
  26. SET "L1="
  27. SET "L2=%~2"
  28. SET "L3="
  29. )
  30. CALL :CLEAN C
  31. CALL :CLEAN L1
  32. CALL :CLEAN L2
  33. CALL :CLEAN L3
  34. IF DEFINED L2 CALL :LEN "%L2%"
  35. IF %TAM% GTR 150 (
  36. ECHO.TEXTO COLOREADO REDUCIDO A 150 CARACTERES DE LONGITUD
  37. )
  38. IF DEFINED L2 SET "L2=%L2:~0,150%"
  39. IF DEFINED L2 ECHO.%L3%>"%L2%"
  40. 0>NUL SET /P "_=%L1%"
  41. FINDSTR.EXE /A:%C% /R "^" "*"
  42. IF EXIST "%USERPROFILE%\COLOR" DEL /F /Q /A "%USERPROFILE%\COLOR" > NUL 2>&1
  43. IF EXIST "%USERPROFILE%\COLOR\" RD /S /Q "%USERPROFILE%\COLOR" > NUL 2>&1
  44.  
  45.  
  46. :LEN
  47. SETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
  48. SET /A CONTL=0
  49. SET "WORDL=%~1"
  50. :_LOOPL
  51. IF NOT DEFINED WORDL (GOTO :_ENDL)
  52. SET "WORDL=%WORDL:~1%"
  53. SET /A CONTL +=1
  54. GOTO :_LOOPL
  55. :_ENDL
  56. ENDLOCAL & SET /A TAM=%CONTL%
  57. EXIT /B 0
  58.  
  59.  
  60. :CLEAN
  61. ::deja solo caracteres dentro del rango a-z 0-9
  62. ::y espacio en el contenido de las variables.
  63. ::version 2.0
  64. ::Version modificada con mas caracteres
  65. ::solo para trabajar con funcion cecho.
  66. ::Los caracteres agregados son: # $ + - =   @
  67. ::Recibe un parametro con el nombre de la variable
  68. ::que se quiere filtrar su contenido.
  69. ::Ejemplo:
  70. ::call :clean nombreDeMiVariable
  71. ::autores: Matt Alvariz , Carlos
  72.  @SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
  73.  @SET "V=%*"
  74.  @SET "S=!% style="color: #448888;">V%!"
  75.  @IF NOT DEFINED S EXIT /B 1
  76.  @SET "V="
  77. :LOOP
  78.  @FOR %%* IN (
  79. " " 0 1 2 3 4 5 6 7 8 9 A B C D E F G
  80. H I J K L M N O P Q R S T U V W X Y Z
  81. # $ + - =   @
  82. ) DO   @IF /I "!S:~0,1!" EQU "%%~*" SET "V=!V!!S:~0,1!"
  83.  @SET "S=!S:~1!"
  84.  @IF DEFINED S GOTO :LOOP
  85.  @(ENDLOCAL & SET %*=%V%)
  86.  @SETLOCAL ENABLEEXTENSIONS
  87.  @EXIT /B 0
  88. REM Fin modulo generador de colores
  89.  ::::::::::::::::::::::::::::::::::::::::::::::::::::
  90.  

y se usa de la siguiente forma:

Código
  1. Call :Cecho ColorHexaDecimal "Mi Frase a colorear"
  2.  

por ejemplo :

Código
  1. Call :Cecho 7C "Mi Nombre es Francisco xD"

pero por ejemplo si "ejecuto" ese codigo en un batch, al final de cada frase salen dos puntos ":" y nose como se pueden quitar, ya que se ven fuera de lugar segun la frase que uno está utilizando :S, y esa es mi duda ¿Como puedo hacer para que no salgan los ":" al final de cada frase o palabra?


Muchas Gracias de ante mano y espero me pueda ayudar.

Saludos :)!
162  Programación / Scripting / Re: Mi primer programa..por asi llamarlo en: 24 Diciembre 2009, 05:49 am
si es un batch o cualquier código, sería mejor que coloques el codigo fuente, ya que así la gente (de este foro pot lo menos) se alentara a ver que hace el programa, porque con descarga da desconfianza ;)



Saludos y espero coloques el source :)
163  Programación / Scripting / Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea? en: 23 Diciembre 2009, 02:02 am
UP!  :-X

porfavor, de verdad que necesito la ayuda  :-( :-( :-( :-( :-( :-(
164  Programación / Scripting / Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea? en: 25 Noviembre 2009, 20:07 pm
sigo esperando que algun alma caritativa me pueda ayudar  :-( :-( :-( :-(
165  Programación / Scripting / Re: [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea? en: 25 Noviembre 2009, 15:34 pm
nadie sabe u.u?

porfa nito ayuda :(
166  Programación / Scripting / [Ayuda][Batch][Againu.u]Modficar Seguna Numero de Linea? en: 23 Noviembre 2009, 22:13 pm
Hola soy yo de nuevo, y necesito su ayuda T_T!

En un post que hice hace poco preguntaba como saber el numero de linea en donde encontraba una coincidencia de texto, y gracias a su ayuda logré hacerlo,
me muestra el numero de linea donde encontró la coincidencia y el caracter que necesito reemplazar, pero es en esta parte donde tengo el problema, ya que después de leer el tema de "acciones sobre archivos de texto" (de Leo Guitierrez) encontré una pequeña función que me permite reemplazar la palabras por otras :), pero (siempre tiene que haber un pero u.u) no me reemplaza en la linea en que yo necesito que lo haga, sino que lo hace en todas :/.. por ejemplo:

Tengo un archivo que contiene las siguientes lineas de texto (solo pondré unas cuantas ya que son miles :B)

Código:
000145,       000145, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL
000147,       000147, 0,   2990, 0,000000,0,  5,  0,       0,1,0,0,PIE DE LIMON FAMILIAR,SUPER TOTTAL
000148,       000148, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN DURAZNO SUPER TOT,SUPER TOTTAL

en donde lo que necesito reemplazar es los numeros 5 despues de la 7º "coma"

por ejemplo tomando las misma lineas anteriores si yo quisiese reemplazar el "5" del producto 000146
deberia quedar asi


Código:
000145,       000145, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL
000147,       000147, 0,   2990, 0,000000,0,  5,  0,       0,1,0,0,PIE DE LIMON FAMILIAR,SUPER TOTTAL
000148,       000148, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN DURAZNO SUPER TOT,SUPER TOTTAL

pero cuando uso lo que llevo hasta ahora queda asi

Código:
000145,       000145, 0,   2499, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL
000147,       000147, 0,   2990, 0,000000,0,  25,  0,       0,1,0,0,PIE DE LIMON FAMILIAR,SUPER TOTTAL
000148,       000148, 0,   2499, 0,000000,0,  25,  0,       0,1,0,0,KUCHEN DURAZNO SUPER TOT,SUPER TOTTAL

Acá esta el código que llevo hasta el momento:

Código
  1. @echo off
  2. :: Encontrar PLU
  3. set /p plu=ingrese plu y wea :
  4.  
  5. For /F "Tokens=1,9 Delims=,[] skip=2" %%f In ('Find "%plu%" plu.txt /n') Do (
  6. Set "linea=%%f"
  7. Set "dato=%%g"
  8. REM echo.Numero de linea: %%f  -  Dato: %%g
  9. )
  10.  
  11. echo %linea%
  12. echo %dato%
  13.  
  14. echo reemplazando espere....
  15. setlocal enabledelayedexpansion
  16. for /f "tokens=* delims=" %%x in ('type plu.txt') do (
  17. set linea=%%x
  18. set linea=!linea:% style="color: #448888;">dato%=  25!
  19. call :show !linea!
  20. )
  21. :show
  22. echo %* >> SalidaPLU.txt
  23. goto:eof
  24.  

pero como les digo antes solo necesito que me reemplace el numero "5" por "25" a los códigos que yo le diga, osea, yo ingreso un PLU (la primera linea con numero por ej. 000145), encuentra el numero de linea en el que está el PLU y solo me reemplaza el 5 por el 25, pero como se darán cuenta no se como hacerlo T_T


si algún alma bondadosa me puede ayudar le estaré agradecido for ever *O*!!!


muchas gracias de ante mano y saludos.-
167  Programación / Scripting / Re: [DUDA-BATCH] Numero de Linea... en: 21 Noviembre 2009, 22:23 pm
gracias ^^

Código
  1. For /F "Tokens=1,9 Delims=,[] skip=2" %%f In ('Find "%plu%" plu.txt /n') Do (echo.Numero de linea: %%f  -  Dato: %%g)

eso fue con lo que me ayudaron y funciona perfecto


saludos !
168  Programación / Scripting / [DUDA-BATCH] Numero de Linea...(SOLUCIONADO) en: 20 Noviembre 2009, 23:05 pm
Hola Saludos, hace tiempo que no molestaba, pero nada es para siempre xD, pero necesito ayuda en algo u.u:

Lo que pasa es que en el trabajo voy a tener que ir cambiando unos valores a un archivo txt generado por un sistema, el archivo SIEMPRE se llama Plu.txt. El archivo esta compuesto por miles de lineas como la siguiente

Código:
000145,       000145, 0,   2499, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MANZANA FAMILIAR,SUPER TOTTAL
000146,       000146, 0,      0, 0,000000,0,  5,  0,       0,1,0,0,KUCHEN MIGA (STROISSER),SUPER TOTTAL

Donde :
cada valor se divide por una "," (coma), con un for legré ubicar el numero que necesito editar, en este caso son los "5" despues de la octava "coma", pero ahora necesito saber en que numero de linea está ese "5",
intente con la funcion que dice el numero de lineas que tiene el txt, pero eso no me sirve ya que para editar esa linea lo voy a hacer con edlin.

Código
  1. @echo off
  2. :: Encontrar PLU
  3. set /p plu=ingrese plu :
  4.  
  5. For /F "Tokens=8 Delims=," %%f In ('Type "plu.txt" ^| Find "%plu%"') Do (echo %%f)

ese es el for que me muestra el numero 5 xD.-


espero que alguien me pueda ayudar ya que estos trabajos los tengo que hacer antes de irme del trabajo y se hace muy largo hacerlo manualmente, porque tengo que ir viendo codigo por codigo u.u



SAludos y muchas gracias de ante mano !!!

169  Programación / Scripting / Re: Como hago este "if not exists"? en: 10 Noviembre 2009, 23:31 pm
Código
  1. if not exist "%windir%\NirCMD_ScreenShoots\" (
  2. MD "%WinDir%\NirCMD_ScreenShots"
  3. ) ELSE (
  4. nircmd.exe loop 9999999 3000 savescreenshot "%WINDIR%\NirCMD_ScreenShoots\scr~$currdate.MM_dd_yyyy$-~$currtime.HH_mm_ss$.png"
  5. )
  6.  

saludos, no lo he probado pero por ahí debe ir la cosa


fijate

Código
  1. "mkdir %WINDIR%\"NirCMD_ScreenShoots"

esta malo porke hay una comilla después del primer \, cuando encierras las rutas con espacios entre "" tiene que ser al principio de la ruta Y AL FINAL, ademas el comando "MKDIR" no se encierra entre comillas, SOLO LAS RUTAS!


por ejemplo

Código
  1. mkdir "%WINDIR%\NirCMD_ScreenShoots"



saludos!
170  Programación / Scripting / Re: ADIVINADOR [batch] en: 4 Noviembre 2009, 14:16 pm
ta weno xD, a mi me funciona del 10 :B, tiene que ir presionando enter, no ingresando cosas :BB:B:B:

saludos wen game :D
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines