如何在DIR /S /B命令结果中添加文件最后修改时间戳?
如何在DIR /S /B命令结果中添加文件最后修改时间戳?
嘿,完全懂你的烦恼!用dir /S /B搜文件确实快,但看不到修改时间找最新备份的时候真的头疼。其实不用折腾别的工具,调整下命令写法就能解决,给你两个实用方案:
方案一:调整DIR命令参数(简单直接)
放弃/B参数(它是专门只输出纯文件名的),换成下面的命令:
dir /S /A-D /TW /O-D *.bak
给你拆解下参数:
/S:递归搜索子目录(和原来一样)/A-D:只显示文件,排除目录(避免把包含.bak的目录也列出来)/TW:显示文件的最后修改时间(如果要创建时间用/TC,访问时间用/TA)/O-D:按修改时间倒序排列,最新的文件会排在最前面,找备份超方便
这个命令会输出标准的DIR格式,包含时间、文件大小、完整路径,信息很全。
方案二:用FOR命令实现极简带时间的输出
如果还是想要类似/B那种每行一条的简洁格式,只保留时间和路径,用FOR命令更灵活:
for /R %f in (*.bak) do @echo %~tf %~ff
参数说明:
/R:递归遍历当前目录及子目录%f:代表找到的每个文件(如果是写在批处理文件里,要把%改成%%,也就是%%f)%~tf:提取文件的最后修改时间%~ff:提取文件的完整路径和文件名@echo:避免把命令本身输出出来,只显示结果
要是想让结果按最新时间排序,再加个排序命令就行:
for /R %f in (*.bak) do @echo %~tf %~ff | sort /R
试试这两个方法,肯定能解决你的问题!
备注:内容来源于stack exchange,提问作者Dominique
相关产品推荐
相关产品推荐

