No veo la diferencia, no lo entiendo. Lo único que veo que tenía mal en foto editada que tenía :exit
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: **Aincrad** en 3 Octubre 2018, 18:46 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.@echo off
Rem By **Aincrad**
del %temp%\a.txt>nul
del lista.txt>nul
:menu & cls
color a
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ EL
echo ³ ³ H
echo ³ ³ a
echo ³ Entrodusca la Palabra / Frase a Buscar. ³ c
echo ³ ³ k
echo ³ ³ e
echo ³ ³ r
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ .NET
echo Create BY **Aincrad** Foro el hacker.NET
Set /P string=^>^>^>
if not defined string (goto:menu) >NUL
cls
for %%x in (*.txt) do (echo %%x >> %temp%\a.txt)
for /f "delims=·" %%A IN (%temp%\a.txt) do call:Bs "%%A"
:Bs
cls
set file=%~1
if not exist %file% exit >nul
Echo Por Favor Espere...
findstr /i %string% %file%
if %errorlevel% == 0 echo Palabra %string% Encontrada en %file% >> lista.txt
100% FUNCIONAL con palabras. y bien optimizado , pruebalo.
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
Cita de: EdePC en 27 Septiembre 2018, 17:06 PM
- Gracias a FINDSTR puedes hacer uso de un fichero aparte que contenga todas las palabras que quieres filtrar:C:\Users\EdSon\Desktop>type doc.txt
Xxxxxxxxx DMN_101. Xxxxxxxxx
Xxxxxxxxx UAN_202 xxxxxxxxx
Xxxxxxxxx UIU_111 xxxxxxxxx
Xxxxxxxxx DMN_101xxxxxxxxx
C:\Users\EdSon\Desktop>type filtro.txt
UAN_202
UIU_111
C:\Users\EdSon\Desktop>findstr /v /i /g:filtro.txt doc.txt
Xxxxxxxxx DMN_101. Xxxxxxxxx
Xxxxxxxxx DMN_101xxxxxxxxx
- Puedes crear un fichero .bat (o .cmd) para utilizar el código que ha compartido **Aincrad** y en lugar de poner:echo tu archivo es %op%
-- pondrías: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
Cita de: animanegra en 27 Septiembre 2018, 10:24 AM
Si es solo eliminar las lineas que cumplan un patron puedes tambien simplemente usar grep que para eso está:
Saludos.
Cita de: nokia-6260 en 27 Septiembre 2018, 02:41 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)
Cita de: EdePC en 27 Septiembre 2018, 02:20 AM
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:copy con doc.txt
Xxxxxxxxx DMN_101. Xxxxxxxxx
Xxxxxxxxx UAN_202 xxxxxxxxx
Xxxxxxxxx UIU_111 xxxxxxxxx
Xxxxxxxxx DMN_101xxxxxxxxx^Z
1 archivo(s) copiado(s).
type doc.txt
Xxxxxxxxx DMN_101. Xxxxxxxxx
Xxxxxxxxx UAN_202 xxxxxxxxx
Xxxxxxxxx UIU_111 xxxxxxxxx
Xxxxxxxxx DMN_101xxxxxxxxx
find /v /i "UAN_202" doc.txt | find /v /i "UIU_111" > FILTRADO_doc.txt
type FILTRADO_doc.txt
---------- DOC.TXT
Xxxxxxxxx DMN_101. Xxxxxxxxx
Xxxxxxxxx DMN_101xxxxxxxxx