如何使用Notepad++在目录中查找不包含字符串的文件

12 notepad++ regex

有谁知道使用 Notepad++ 的“在文件中查找”(或其他功能)来查找不包含字符串的文件的快速简便的方法?

例如:

列出 c:\inetpub\mywebsite 中不包含“footer.asp”的所有文件

Tim*_*o89 8

确保在搜索模式中选择了“正则表达式”。

使用以下正则表达式获取所有不包含“文本在此处”的文件:

(?s)\A((?!Text goes here).)+\z
Run Code Online (Sandbox Code Playgroud)

  • 这个回答了这个问题。它适用于记事本++。 (2认同)

Ric*_*cas 5

您总是可以使用旧的 DOS / 命令提示符并执行以下操作:

find /c /i "footer.asp" c:\inetpub\mywebsite\*.* | find ": 0" /v
Run Code Online (Sandbox Code Playgroud)

这将为您提供搜索词在目录中的文件中出现的次数的列表,第一个通过管道传递的第二个查找操作通过过滤掉第一个您不是的结果使其更加性感t 感兴趣。

您可能想要更改 * . * 到 *.asp 但如果您只是浏览 ASP 文件并且您只对浏览 ASP 文件感兴趣。

不幸的是,FIND 不适用于递归子目录,但如果这不起作用,您可以尝试使用稍微复杂的 FINDSTR 命令。


mec*_*eat 0

虽然它是一个很棒的工具,但我认为您无法在 Notepad++ 中执行此操作。

此 Python 脚本将打印出任何不匹配的文件名:

import glob
import os

def main():
    DIR = '/path/to/my/dir'

    path = os.path.join(DIR, "*")
    files = glob.glob(path)

    for f in files:
        fh = open(f,'r')
        fc = fh.read()
        if "footer.asp" not in fc:
            print "no match found in", f
        fh.close()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)