在 Windows 早期(3.1、Windows 95),有一项很棒的功能,称为“查找”,可用于查找计算机上的文件。
一些***决定删除此功能并将其“集成”到常规 Windows 资源管理器中。
尽管这样做很可能是出于好意,但在许多情况下它不起作用:我输入内容file:*.bak
,当我幸运时(大多数情况下我都不幸运),我的计算机会搜索文件*.bak
。
因此,我决定使用旧的命令行,当我需要搜索文件时,我会转到主目录并输入dir /S /B *.bak
,然后它就会像魔法一样运行!
但是...没有显示最后修改日期,这使得很难看出哪个是列表中最新的 bak 文件。
有人知道如何将最后修改日期添加到Dir /S /B
结果中吗?
提前致谢
答案1
删除该/B
选项,即隐藏最后修改日期(以及文件名之外的其他信息)。
最新的 Windows 版本包括forfiles.exe
,它可以按名称和/或年龄递归查找文件并针对每个结果运行一些命令。它方便地支持命令的日期/时间替换:
forfiles /s /m *.c /c "cmd /c echo @fdate @ftime @path"
PowerShell 可以为您提供更多灵活性;其默认输出类似于 Cmd 的输出dir
:
dir -recurse *.c
但在后台它是基于对象的(直到它转换为文本以在屏幕上显示),因此您可以使用它... | Select-Object
来输出具有特定属性的单个平面表(禁用“dir”样式的每个目录表):
dir -rec *.c | select LastWriteTime,FullName
...或者使用以下方式创建自己的输出... | ForEach-Object {...}
dir -r *.c | % { echo "$($_.LastWriteTime) -- $($_.FullName)" }