我尝试在目录中搜索日期为的文件xxx.01.22.xxx
。我尝试过 name:01.22
或name:*.01.22.*
,但都没有找到。(我自己检查后发现该文件在那里。)
此搜索的正确语法是什么?哪些特殊字符会搞乱 Windows 文件名搜索?(顺便说一句,我想我从来都无法通过数字搜索文件名……)
自从 Windows 10 推出以来,我一直在努力使用 Windows 资源管理器搜索框,即使是简单的文件名搜索,我也从未能够有效地使用它。有没有关于如何使用此功能的好课程?
答案1
星号 * 是 Windows 文件名的通配符。只要 01.22 确实在文件名中(而不是文件日期元数据中),只需在两边使用一个星号即可:
*01.22*
这将搜索文件名中包含“01.22”的任何文件。您不需要“name:”前缀。
但是,如果您想根据修改日期元数据搜索文件,请使用以下字符串格式:
修改时间:2021/01/22 .. 2021/01/23
“modified:start_date .. end_date”。日期格式可能因您的 Windows 配置为哪个国家/地区而异。我的是 en-US。
根据您上传的图片,还有一条评论需要补充,无论您从哪里开始搜索,它都会在该位置及其子文件夹中进行搜索,但不会在其他位置进行搜索。如果您在桌面上搜索,它只会搜索桌面位置。如果您想搜索整个驱动器,您可以从根目录(例如 c:\)开始,但这可能需要一些时间,具体取决于根目录上的文件数量和访问速度。最好从您知道包含您要查找的文件的文件夹开始,即使该文件位于子文件夹中。
答案2
使用 PowerShell,您可以在一行中完成此操作,首先打开 PowerShell:
Win+ R>>输入 powershell>>Enter
使用类似以下代码,使用时替换路径和日期:
Get-ChildItem -Path 'path\to\folder' -Force -Recurse | where {$_.LastWriteTime -ge [datetime]"2021-01-22 00:00" -and $_.LastWriteTime -le [datetime]"2021-01-23 00:00"}
这应该能给你你想要的东西。
答案3
感谢@Seven 的完美回答。它在回复部分,所以我无法将其选为答案。在此引用