En el segundo ejemplo que pusiste, se ve como buscando "a" y "b" no devuleve nada pese a que "a"
si que existe y aunque "b" no.
C:\Users\>echo aaaa | findstr /C:"a" | findstr /C:"b"
C:\Users\>
Yo quiero hacer algo similar a eso, pero que si que me lo muestre. Imaginemos que es lo siguiente:
Hago un dir en mi directorio y me muestra los siguiente:
C:\Users\gregor>dir
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: A881-83A4
Directorio de C:\Users\gregor
11/04/2016 00:05 <DIR> .
11/04/2016 00:05 <DIR> ..
13/04/2016 11:18 <DIR> .oracle_jre_usage
15/04/2016 20:08 <DIR> .VirtualBox
15/10/2015 01:10 <DIR> .zenmap
07/03/2016 10:17 <DIR> Contacts
18/04/2016 09:32 <DIR> Desktop
13/04/2016 20:58 <DIR> Documents
13/04/2016 12:05 <DIR> Downloads
18/04/2016 08:35 <DIR> Dropbox
07/03/2016 10:17 <DIR> Favorites
07/03/2016 10:17 <DIR> Links
17/02/2016 15:44 <DIR> MindTerm
07/03/2016 10:17 <DIR> Music
25/01/2016 00:38 <DIR> OneDrive
11/04/2016 18:28 <DIR> Pictures
07/03/2016 10:17 <DIR> Saved Games
07/03/2016 10:17 <DIR> Searches
11/04/2016 00:05 70 sha1sum.txt
11/04/2016 18:28 <DIR> Videos
1 archivos 70 bytes
19 dirs 286.476.800.000 bytes libres
Ahora quiero solo coger tres líneas que contengan determinadas palabras, por ejemplo, desktop, Favorites y Music.
Al introducir el comando y contatenar el findstr con un pipe (|), este como restultado no me muestra nada.
C:\Users\gregor>dir | findstr /C:"Desktop" | findstr /C:"Favorites" | findstr /C:"Music"
C:\Users\gregor>
Lo que quiero conseguir es que haciendo lo anterior, con la sintaxis correcta, me muestre esto (este resultado lo puse a mano para intentar reflejar el resultado de lo que busco):
C:\Users\gregor>dir | findstr /C:"Desktop" | findstr /C:"Favorites" | findstr /C:"Music"
18/04/2016 09:32 <DIR> Desktop
07/03/2016 10:17 <DIR> Favorites
07/03/2016 10:17 <DIR> Music
Espero que con esto me explicara claramente ahora