如何在 Windows XP 中查找不匹配特定扩展名的文件?

如何在 Windows XP 中查找不匹配特定扩展名的文件?

我需要查找并删除子目录中的所有文件不是 .SQL文件。我不知道如何在 Windows 搜索中搜索<>.SQL或。!.SQL

我在这里看到的大多数解决方案都是找到特定的扩展并利用它们做一些事情。我正在寻找相反的方法。

答案1

我不知道如何从 Windows Search 中执行此操作,但从命令行可以这样做:

dir /s /b /a-d | findstr /v /r ".*\.sql"
  • dir /s-递归目录列表
  • /b - 裸列表,仅文件名(输出中没有目录大小信息等)
  • /ad - 按属性过滤,而不是目录(从列表中删除子目录)
  • | (管道) - 将目录列表的输出发送到
  • findstr-文本搜索实用程序
  • /v – 仅返回不匹配的行
  • /r——使用正则表达式
  • “.*.sql” - 匹配任意次数,后跟一个点,后跟 sql

答案2

如果您坚持使用不具备本机功能或不支持此功能的 Windows 搜索,您可以简单地通过以下方式运行它:

*.a OR *.b OR *.c OR *.d OR *.e OR *.f OR *.g OR *.h OR *.i OR *.j OR *.k OR *.l OR *.m OR *.n OR *.o OR *.p OR *.q OR *.r OR *.t OR *.u OR *.v OR *.w OR *.x OR *.y OR *.z

以下搜索将排除所有带有 .s* 扩展名的文件,同时列出所有其他文件。

也许有更好的方法可以做到这一点,但这也应该有效。

答案3

在 Windows 10(我使用的是 1803 版本)中,我使用文件资源管理器中的搜索框并输入

*.* kind:-jpg

查找图片文件夹中所有非 jpg 文件(例如视频等)。也许你应该尝试

*.* kind:-sql

相关内容