文章总结: 文档介绍了在Windows命令行环境中精确查找指定修改时间目录的两种方法:使用cmd的dir与findstr组合命令实现时间匹配,或通过PowerShell的Get-ChildItem配合时间范围过滤。关键点包括避免使用精度不足的forfiles命令、处理日期时间格式细节以及正确使用转义符。 综合评分: 83 文章分类: 安全工具,办公安全
cmd中查找指定日期时间之后修改过的文件(续)
原创
沈沉舟 沈沉舟
青衣十三楼飞花堂
2026年5月1日 11:21 北京
在小说阅读器读本章
去阅读
2.11 查找指定日期时间之后修改过的文件
https://scz.617.cn/windows/201607271351.txt
A: scz 2016-07-27 13:51
(之前的内容略,十年后在后面增补一段内容)
Q:
想在cmd中显示当前目录下修改时间精确等于”2026/1/19 13:49″的子目录(不要普通文件)名,不要遍历子目录树,只要这一级的。只要目录名,不要大小、时间戳信息。
A: scz 2026-04-30
forfiles干不了这个,它只能以天为单位,精确不到时、分。
方法1
for /f "tokens=4,*" %a in ('dir /ad /t:w /4 ^| findstr /c:"2026/01/19 13:49"') do @echo %a %b
for /f "tokens=1-3,*" %a in ('dir /ad /t:w /4 ^| findstr /c:"2026/01/19 13:49"') do @echo %d
/ad使得只显示子目录,不显示普通文件。/4用4位年份。^表示转义。findstr时注意日期与时间之间是2个空格,这与dir的输出强相关。
for的%a对应第一个token,后续自动赋给%b、%c等等。token之间用空白作分隔符。
方法2
powershell -Command "$t=[datetime]'2026-01-19 13:49'; Get-ChildItem -Directory | Where-Object { $_.LastWriteTime -ge $t -and $_.LastWriteTime -lt $t.AddMinutes(1) } | ForEach-Object { $_.Name }"
powershell -Command ^
"$t = [datetime]'2026-01-19 13:49'; ^
Get-ChildItem -Directory ^| Where-Object { $_.LastWriteTime -ge $t -and $_.LastWriteTime -lt $t.AddMinutes(1) } ^| ForEach-Object { $_.Name }"
有些^号用于续行,有些^号用于转义,勿搞混。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:青衣十三楼飞花堂 沈沉舟 沈沉舟《cmd中查找指定日期时间之后修改过的文件(续)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









![[直播预告]硬核干货来袭!好靶场首届技术分享会邀你入会](/images/random/titlepic/11.jpg)
评论