ayuda con pequeño script

Iniciado por ramos_45, 26 Septiembre 2018, 22:51 PM

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

ramos_45

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ódigo (bash) [Seleccionar]
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:

Código (bash) [Seleccionar]
echo tu archivo es %op%

-- pondrías:

Código (bash) [Seleccionar]
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.

EdePC

- Pues primero tiene que crear un fichero de texto: filtro.txt que contendrá todas las palabras a buscar (ver mi TYPE filtro.txt)

- Luego usas FINDSTR para hacer referencia a dicho fichero, el fichero filtro.txt tiene que encontrarse en la misma carpeta donde ejecutas el FINDSTR (en mi caso C:\Users\EdSon\Desktop), auqnue tambien puedes poner la ruta completa al fichero filtro.txt:

findstr /v /i /g:"c:\mis_filtros\filtro.txt" doc.txt

ramos_45

Creo que ya está, probé en otro pc y si que funcionó. Gracias