DOS批处理文件按日期查找“新”文件

Tod*_*hur 9 batch command-line find disk-operating-system

我的 PC 已进入无限 BSOD 循环 - 但我确实可以访问安全模式命令提示符。

我试图了解可能引发此问题的“发生了什么变化”。例如,我可能感染了病毒,或者应用程序更新失败了。

因此,我想查看在过去几天/一周内创建/修改了哪些文件,或者至少是 *.exe、*.dll、*.com、*.bat 等。

我以为我对我的 Batch-fu 没问题,但我对如何编写一个快速批处理文件/命令来为我列出文件感到困惑。

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
Run Code Online (Sandbox Code Playgroud)

我真正想要的是找到在过去 3-7 天内创建/修改的所有(可执行文件类型)。

任何人都可以指出我正确的方向吗?

Kel*_*ari 11

这是一种使用 xcopy 的简单但迂回的方式。你可以看看xcopy /?开关等。

xcopy \windows\*.exe /L /S /D:12-01-2000 .
Run Code Online (Sandbox Code Playgroud)

此命令将递归输出.EXE文件\windows夹中的文件和路径列表,这些文件和路径在 2000 年 1月 12 日或之后被修改,而不实际复制它们。注意在命令的结尾有一个句点。用小字体很难看清。

编辑 1:我/F从原始命令中取出了,因为它是无关紧要的。

编辑 2:| more如果需要,您可以将输出通过管道传输到“ ”

  • 就在我开始讨论之前……哪个部分是说“实际上不要复制”的部分?...它是`.`,例如复制到文件的原始位置吗? (2认同)
  • /L 只列出,不复制 (2认同)