Notepad ++在文件中找到过滤器EXCLUDE

rei*_*den 55 notepad++ find

我正在寻找一种方法来获取n ++在文件对话框中的查找以排除某些文件...

到目前为止,我发现的唯一参考是http://sourceforge.net/project/shownotes.php?release_id=536795&group_id=189927,但不幸的是,它不起作用.

我正在使用*[^*.dll],我认为,搜索所有内容但是dll文件.

我该如何解决这个问题?

谢谢

n00*_*00b 70

请注意,自 2019 年 12 月 5 日起,Notepad++ 7.8.2 现在支持排除过滤器。

例如,要排除 exe、zip 和 jar 文件,您的“在文件中查找”过滤器将如下所示;

*.* !*.exe !*.zip !*.jar

相关代码更改在这里

  • 实际上 `* !*.exe !*.zip !*.jar` 也可以。它是不同的,因为它也包含没有扩展名的文件。 (4认同)

rei*_*den 32

这并不是一个好的答案,但是,我发现有效的是这个

*.sql ; *.asp ; *.html ; *.as ; *.mxml
Run Code Online (Sandbox Code Playgroud)

它绝对不是'排除'列表,但是,通过包含我需要查看的所有类型,我得到相同的结果.在我的情况下,我只有经常寻找的那些类型.如果您的设置更宽,这将变得更加有用.

  • 如果他们为它添加了一个`!`非运算符,那就太好了!*.JPG (8认同)

CAD*_*oke 20

也许真正的答案是不要使用NP ++.你看过http://www.wingrep.com/features.htm或者

编辑:这些天我使用http://stefanstools.sourceforge.net/grepWin.html

  • 这应该是正确的答案.对我来说 - 找到这个页面,阅读答案,阅读这个答案中的features.htm,从sourceforge下载软件,安装它,然后搜索我的东西---**在我开始的Notepad ++搜索之前完成了甚至去了sourceforge完成**. (5认同)
  • 不同意.关键是我已经在使用Npp在项目中执行其他任务.我不想让工具做一个可以通过稍微好一点的过滤引擎更轻松的工作.但我认识到,其他人可能没有相同的限制:D (3认同)
  • 使用 grepwin,在文本匹配中输入 -*.dll 以排除 dll 文件 (2认同)

小智 20

可能有一种更优雅的方式,但您可以使用PowerShell获取文件夹中的所有扩展,然后只删除您不想要的扩展名.此示例获取"C:\ Program Files\Internet Explorer"文件夹中的所有扩展.

注意:不要忘记用括号括起来(Get-ChildItem ... -join";*".

"*" + ((Get-ChildItem -File -recurse "C:\Users\SomeUser\Documents\Visual Studio 2013\Projects\WindowsService1" | Where {$_.Extension -ne ""}| Select-Object Extension -unique | Sort-Object Extension | Get-Unique -asString  | Select -ExpandProperty Extension | % { $_.ToLower() } | Get-Unique) -join ";*")
Run Code Online (Sandbox Code Playgroud)

返回:

*.cache.*配置;*CS*的csproj;*.exe文件;*jmconfig;*清单;*.设置;*SLN;*.TXT

然后删除你不想要的东西.

  • / \以上是*不全面,由于本网站的评论字符限制,我不得不削减它.太糟糕了,Notepad ++"过滤器"的char限制甚至更低,精确到255.因此,"否定"过滤器确实会很好. (3认同)
  • `* .bin; *。bmp; *。buildinfo; *。bz2; *。cnf; *。conf; *。conv; *。csm; *。css; *。csv; *。da; *。dat; * .de; *。dic; *。dist; *。doctree; *。dtd; *。en; *。ent; *。eot; *。err; *。es; *。euc-kr; *。exp; * .file; *。fr; *。frm; *。gif; *。gitignore; *。gz; *。h; *。hhvm; *。htaccess; *。html; *。icc; *。ico; *。inc ; *。ini; *。ini-development; *。ini-production; *。inv; *。jpg; *。js; *。jshintrc; *。json; *。koi8-; *。lang; *。lib; * .log; *。map; *。md; *。mediawiki; *。mo; *。myd; *。myi; *。new; *。nocoverage; *。ods; *。opt; *。pdb; *。 phar; *。php; *。phtml; *。pickle; *。pid; *。pl; *。png; *。properties; *。pt-br; *。py; *。rst; *。sh; *。因此; *。sql; (2认同)

Sha*_*e N 17

我从另一个帮助我解决这个问题的论坛得到了一个提示.将要排除的文件夹标记为"隐藏".默认情况下,N ++中的"在文件中查找"会排除隐藏目录.然后,您可以在完成后还原隐藏的目录.

有点乏味,但总比没有好.

  • 这个博客https://shellcreeper.com/how-to-exclude-folders-in-notepad-search/有一个逐步的解决方案,通过将文件夹标记为隐藏来排除文件夹. (2认同)

小智 8

请注意使用 Notepad++ v7.8.7 进行测试

正如 n00b 所回答的

这有效:

*.* !*.obj

但这不起作用!:*.*;!*.obj => 不搜索任何文件!

另一方面这确实有效 *.*; !*.obj