DOS: Directory listing that excludes a file type

dos

In MS-DOS, if I enter dir *.pdf, I'll get all the PDF files in a directory. Is there a way to get everything but PDF files? Something like dir !*.pdf?

Thanks!

Best Answer

I think there's a /v option for findstr which is equivalent to grep -v (include all lines that don't contain the text. So I'd be looking at:

dir | findstr /vi ".pdf"

The syntax may be slightly different, I haven't had much need to use it and I don'r run Windows at my current location.

Use findstr /? from a command prompt for details.

Or, if you install CygWin (my tool of choice for this sort of stuff), you can just use grep itself:

ls -al | grep -vi '\.pdf$'

Addendum:

I actually didn't realize this but apparently findstr also support regexes so you can use:

dir | findstr /vi "\.pdf$"

just the same as grep (I haven't tested this, I only just found it on TechNet, so you'll need to test it yourself).

Related Topic