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

Nic*_*ico 4 windows file-search find windows-xp

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

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

shf*_*301 10

我不知道有什么方法可以从 Windows 搜索中做到这一点,但从命令行它是:

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