8.28 Win10资源管理器的文件搜索 https://scz.617.cn/windows/202303251806.txt Q: Win10资源管理器菜单栏一般有「文件、主页、共享、查看」这几项,而其他项并不 固定,试举几例 选中 | 菜单栏 -----+------------------ 盘符 |「管理-驱动器工具」 图片 |「管理-图片工具」 EXE |「管理-应用程序工具」 音频 |「播放-音乐工具」 视频 |「播放-视频工具」 在Win10资源管理器中进行文件搜索后,无论是否找到匹配文件,菜单栏将出现「管 理-搜索工具」,此时可对「修改日期、类型、大小、其他属性」进行有限过滤,但 非完全可控的过滤机制;在「最近的搜索内容」中有「清除搜索历史记录」。 为了调出「搜索工具」,最简方案是对一个空目录随便搜个不存在的文件,搜索将快 速结束,同时「搜索工具」出现在菜单栏上。但这样做意义不大,一旦切换目录, 「搜索工具」又会消失。 我的问题是,有没有注册表、组策略,让「搜索工具」始终出现在菜单栏上,而非搜 索发生后动态出现。 D: scz 2023-03-24 LTSB版本Win10只要点击"搜索框",无须实际搜索,菜单栏就会出现「搜索工具」, 此行为与非LTSB版本不同。英文版与中文版的显示内容可能有细微差别。没有注册表、 组策略设置使得「搜索工具」永久固定。 Q: 如何搜索大于50KB小于100KB的pyc文件? A: scz 2023-03-25 在资源管理器搜索框中输入 *.pyc size:>50KB<100KB // 英文版 *.pyc size:50KB..100KB *.pyc 大小:>50KB<100KB // 中文版 *.pyc 大小:50KB..100KB 此处中英文版关键字无法混用。用".."方式时,我未实测是闭区间还是其他什么。 另有命令行方案,下列命令以当前目录为根,搜索大于等于50KB、小于等于100KB的 pyc文件,显示其绝对路径与大小 forfiles /p . /s /m *.pyc /c "cmd /c if @fsize geq 51200 if @fsize leq 102400 echo @path @fsize" cmd的多个if命令之间是逻辑与的关系,逻辑或只能用if/else if/else变相实现。 Q: 如何搜索最后修改时间位于2023/3/1之后大于50KB小于100KB的pyc文件? A: scz 在资源管理器搜索框中输入 *.pyc datemodified:>=3/1/2023 size:>50KB<100KB // 英文版 *.pyc datemodified:>=3/1/2023 size:50KB..100KB *.pyc 修改日期:>=2023/3/1 大小:>50KB<100KB // 中文版 *.pyc 修改日期:>=2023/3/1 大小:50KB..100KB 时间格式需用当前系统设定格式,对应"date /t"看到的格式,上面只是示例。 命令行方案 forfiles /p . /s /m *.pyc /d +2023/3/1 /c "cmd /c if @fsize geq 51200 if @fsize leq 102400 echo @path @fsize @fdate @ftime" "/d -2023/3/1"表示最后修改时间位于2023/3/1之前 Q: 如何搜索最后修改时间位于2023/3/1与2023/3/25之间大于50KB小于100KB的pyc文件? A: scz 在资源管理器搜索框中输入 *.pyc datemodified:>=3/1/2023<=3/25/2023 size:>50KB<100KB // 英文版 *.pyc datemodified:>=3/1/2023..3/25/2023 size:50KB..100KB *.pyc 修改日期:>=2023/3/1<=2023/3/25 大小:>50KB<100KB // 中文版 *.pyc 修改日期:>=2023/3/1..2023/3/25 大小:50KB..100KB 该需求无法用forfiles实现,/d只允许用一次,@fdate无法进行比较操作。 可用PowerShell脚本达此目的 Get-ChildItem -Path "." -Recurse -Filter "*.pyc" | Where-Object { $_.LastWriteTime -ge '2023-03-01' -and $_.LastWriteTime -le '2023-03-25' -and $_.Length -gt 51200 -and $_.Length -lt 102400 } | Select-Object -Property FullName, Length, LastWriteTime | Format-List * PowerShell太重型了,forfiles也好不到哪去,DOS批处理或许也可以,但更重型, 还是GUI搜索框相对直观,过去XP的搜索界面更直观。