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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Scripting / Re: problema findstr en: 3 Octubre 2018, 22:13 pm
No veo la diferencia, no lo entiendo. Lo único que veo que tenía mal en foto editada que tenía :exit
2  Programación / Scripting / Re: problema findstr en: 3 Octubre 2018, 20:43 pm
Termine, me tarde por que la ultima vez que hice algo así me lleve 104 lineas y de paso código mal optimizado .

Pero ahora soy mas cuidadoso . y optimizo muy bien mis script.

El code Busca en todos los .txt la palabra que tu escribas. (Pon el bat en la carpeta donde tienes tus txt) o bueno lo modificas a tu gusto.

Código
  1. @echo off
  2. Rem By **Aincrad**
  3. del %temp%\a.txt>nul
  4. del lista.txt>nul
  5. :menu & cls  
  6. color a
  7. echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿    EL
  8. echo ³                                                               ³ H
  9. echo ³                                                               ³  a
  10. echo ³   Entrodusca la Palabra / Frase a Buscar.                     ³   c
  11. echo ³                                                               ³    k
  12. echo ³                                                               ³     e
  13. echo ³                                                               ³      r
  14. echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ       .NET
  15. echo    Create BY **Aincrad**  Foro el hacker.NET
  16. Set /P string=^>^>^>
  17. if not defined string (goto:menu) >NUL
  18. cls
  19.  
  20. for %%x in (*.txt) do (echo %%x >> %temp%\a.txt)
  21.  
  22. for /f "delims=·" %%A IN (%temp%\a.txt) do call:Bs "%%A"
  23.  
  24. :Bs
  25. cls
  26.   set file=%~1
  27.   if not exist %file% exit >nul
  28.   Echo Por Favor Espere...
  29.   findstr /i %string% %file%
  30.   if %errorlevel% == 0 echo Palabra %string% Encontrada en %file% >> lista.txt
  31.  

100% FUNCIONAL con palabras. y bien optimizado , pruebalo.


funciona perfecto.

he añadido "" a %file% porque en archivos con varias palabras de nombre fallaba.

he intentado añadir 

set file=%~1
   if not exist %file% goto :exit
   Echo Por Favor Espere...
   findstr /i %string% "%file%"
   if %errorlevel% == 0 echo Palabra %string% Encontrada en %file% >> lista.txt


:exit
type lista.txt
pause
exit >nul

para que me muestre en la shell el archivo que genera antes de salir, pero deja de funcionar porque solo me registra 1 archivo.

que le sucede?
3  Programación / Scripting / Re: problema findstr en: 3 Octubre 2018, 17:10 pm
Eso es, y que me cree un archivo en el que diga "tienes la palabra que has tecleado en estos archivos"
4  Programación / Scripting / problema findstr en: 3 Octubre 2018, 16:37 pm
Necesito buscar archivos en un directorio que contienen un texto metido a mano, para ello hago:

Código:
echo off set /p nombre=Dime tu nombre: echo Hola %nombre%!


echo off
set /p textoabuscar=escribe el texto a buscar:

Findstr /i /s /m /c:%textoabuscar% > archivos.txt
Pause

Pero no me saca nada. Quiero que solo me diga que archivos contienen lo introducido en el directorio
5  Programación / Scripting / Re: ayuda con pequeño script en: 29 Septiembre 2018, 12:31 pm
Creo que ya está, probé en otro pc y si que funcionó. Gracias
6  Programación / Scripting / Re: ayuda con pequeño script en: 27 Septiembre 2018, 18:07 pm
- Gracias a FINDSTR puedes hacer uso de un fichero aparte que contenga todas las palabras que quieres filtrar:

Código
  1. C:\Users\EdSon\Desktop>type doc.txt
  2. Xxxxxxxxx DMN_101. Xxxxxxxxx
  3. Xxxxxxxxx UAN_202 xxxxxxxxx
  4. Xxxxxxxxx UIU_111 xxxxxxxxx
  5. Xxxxxxxxx DMN_101xxxxxxxxx
  6.  
  7. C:\Users\EdSon\Desktop>type filtro.txt
  8. UAN_202
  9. UIU_111
  10.  
  11. C:\Users\EdSon\Desktop>findstr /v /i /g:filtro.txt doc.txt
  12. Xxxxxxxxx DMN_101. Xxxxxxxxx
  13. Xxxxxxxxx DMN_101xxxxxxxxx



- Puedes crear un fichero .bat (o .cmd) para utilizar el código que ha compartido **Aincrad** y en lugar de poner:

Código
  1. echo tu archivo es %op%

-- pondrías:

Código
  1. findstr /v /i /g:filtro.txt %op% > FILTRADO_%op%

-- No te olvides del fichero filtro.txt donde están las palabras a filtrar. Si el script encuentra dicha palabra en una línea elimina toda esa línea.



- Colorear en CMD si es posible pero no muy práctico, se puede utilizar el mismo FINDSTR con el modificador /A, el detalle es que solo colorea los nombres de los ficheros que contienen la palabra a buscar, por ende se tendría que crear tantos ficheros como líneas haya en tu fichero doc.txt





he probado, y el  ejemplo de aincrad funciona perfecto, pero si le añado como me has dicho tu no funciona. tampoco me funciona tu primer ejemplo.
7  Programación / Scripting / Re: ayuda con pequeño script en: 27 Septiembre 2018, 11:33 am
Gracias por vuestras respuestas y vuestra ayuda.

Se podría añadir el documento arrastrando?

Se me a ocurrido otra opción que me ayudaría mucho, y sería resaltar en colores cuando encuentre diversas cosas. Por ejemplo:

Xxxxxxxxx DMN_101. XxxxxxM03xx
Xxxxxxxxx UAN_202 xxxxxxxxx
Xxxxxxxxx UIU_111 xxxxxxxxx
Xxxxxxxxx DMN_101xxxxxxM00xxx


Cuando encuentre M03, me lo pinte de verde y cuando encuentre M03 me lo pinte de rojo

Obviamente, tendría que ser en la consola, pero me gustaría también que exportará como hemos dicho antes(aunque aquí no pueda tener colores)
8  Programación / Scripting / Re: ayuda con pequeño script en: 27 Septiembre 2018, 11:29 am
Si es solo eliminar las lineas que cumplan un patron puedes tambien simplemente usar grep que para eso está:

Saludos.


Sería ideal pero lo necesito para Windows
9  Programación / Scripting / Re: ayuda con pequeño script en: 27 Septiembre 2018, 11:28 am
Así sin mirar mucho y con esto de aprender un poco de python hice este script , según mis pruebas funciona, aunque seguro que se puede hacer mil veces mejor.
Saludos.

#!/usr/bin/env python

file_r = open("Tu_home/sin_filtrar.txt",'r')
file_w = open("/Tu_home/filtrado.txt", 'w')

lines = file_r.readlines()

for i in lines:
    print(i)



    resul_UAN_202 = i.find('UAN_202')
    resul_UIU_111 = i.find('UIU_111')
    if ((resul_UAN_202 > 0) or  (resul_UIU_111 >0)):
        print("borrar")
    else:
        file_w.write(i)   
print(lines)       



Muchas gracias, yo creo que sí. En batch se crearlo, pero como lo copió y ejecutó para phyton?
10  Programación / Scripting / Re: ayuda con pequeño script en: 27 Septiembre 2018, 11:26 am
Gracias por vuestras respuestas!

Saludos,

- En la Command Line de Windows (cmd) puedes utilizar el comando FIND con el modificador /v para que imprima las líneas que NO contengan la palabra buscada, y opcionalmente utilizar /i para no distinguir mayúsculas de minúsculas:

Código
  1. copy con doc.txt
  2. Xxxxxxxxx DMN_101. Xxxxxxxxx
  3. Xxxxxxxxx UAN_202 xxxxxxxxx
  4. Xxxxxxxxx UIU_111 xxxxxxxxx
  5. Xxxxxxxxx DMN_101xxxxxxxxx^Z
  6.        1 archivo(s) copiado(s).
  7.  
  8. type doc.txt
  9. Xxxxxxxxx DMN_101. Xxxxxxxxx
  10. Xxxxxxxxx UAN_202 xxxxxxxxx
  11. Xxxxxxxxx UIU_111 xxxxxxxxx
  12. Xxxxxxxxx DMN_101xxxxxxxxx
  13.  
  14. find /v /i "UAN_202" doc.txt | find /v /i "UIU_111" > FILTRADO_doc.txt
  15.  
  16. type FILTRADO_doc.txt
  17.  
  18. ---------- DOC.TXT
  19. Xxxxxxxxx DMN_101. Xxxxxxxxx
  20. Xxxxxxxxx DMN_101xxxxxxxxx


Entiendo que con ese codigo solo usarías las líneas 1,8,14y 16 no? El resto que pones es lo que respondería.

Los tengo muchos códigos que copiar para eliminar, unos 80,y posteriormente tal vez tenga que añadir más. Este script yo sabría modificarlo y añadirlos, pero lo van a usar otras personas que no. Habría la posibilidad de al inicio crear un menú que te pregunte si quieres añadir o quitar códigos?

Se podría simplificar la línea:
find /v /i "UAN_202" doc.txt | find /v /i "UIU_111" >

Para no tener que poner así los 80 códigos?

Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines