DOS Batch file to find “new” files by date

batchcommand linedisk-operating-systemfind

My PC has entered an infinite BSOD loop – but I do have access to a safe-mode command prompt.

I'm trying to get an idea of "what changed" that might have triggered this. e.g. I might have gotten a virus, or an app update went belly up.

I'd like to thus see which files were created/modified in the last few days/week or at least the *.exe, *.dll, *.com, *.bat etc.

I thought I was ok with my Batch-fu but I'm stumped on how to write a quick batch file/command that would list the files for me.

REM This will find the files, but the results are all muddled
REM all EXE files, reverse sort by date, recursively through sub-directories

dir *.exe /O-D /S

What I'd really like is to find all (executable filetypes) that were created/modified in the last 3-7 days.

Can anyone point me in the right direction?

Best Answer

this is a simple, albeit roundabout way, using xcopy. you can look at xcopy /? to see the switches etc.

xcopy \windows\*.exe /L /S /D:12-01-2000 .

This command will output a list of .EXE files and paths in the \windows folder recursively, that were modified on or after 12/1/2000, without actually copying them. NOTE there is a period at then end of the command. Its hard to see with a small font.

Edit 1: I took out the /F from the original command, as it was extraneous.

Edit 2: You can pipe the output to "| more" if you want

Related Question