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


74

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

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

我认为我正在使用* [^ *。dll]搜索所有但dll文件。

我该如何解决?

谢谢


2
该功能最近已实现,希望np ++的人接受它。github.com/notepad-plus-plus/notepad-plus-plus/pull/4429在pull请求中添加您的评论和建议,也许我们可以触发一些反应...
龙萨克

!file.type现在是可接受的排除模式(以空格分隔)。
菲利普·奥克利

Answers:


44

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

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

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

相关代码在这里更改。


1
实际上* !*.exe !*.zip !*.jar也可以。有所不同,因为它将包括没有扩展名的文件。
BatteryBackupUnit

36

这不是一个好的答案,但是,我发现可行的是

*.sql ; *.asp ; *.html ; *.as ; *.mxml

它绝对不是一个“排除”列表,但是,通过包括所有需要查看的类型,我得到了相同的结果。就我而言,我只有一些经常寻找的类型。如果您的设置更宽,那么它将变得毫无用处。


11
如果他们在其中添加了一个!not运算符,那就太好了!* .jpg
Chizzle '16

将接受的答案更改为@ n00b。很高兴终于解决了这个问题!
reidLinden

21

也许真正的答案是不要为此使用NP ++。您是否看过http://www.wingrep.com/features.htm

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


5
这应该是正确的答案。对我来说-查找此页面,阅读答案,阅读此答案中的features.htm,从sourceforge下载软件,安装它并搜索我的东西---在Notepad ++搜索之前完成,我什至没有进入sourceforge之前就完成了搜索
Oskar Holmkratz '16

5
不同意。关键是我已经在使用Npp在项目中执行其他任务。我不希望离开该工具去做可以通过稍微好一点的过滤器引擎而变得更容易的工作。但是,我认识到其他人可能没有相同的约束条件:D
reidLinden

使用grepwin,在文本匹配项中,键入-*。dll以排除dll文件
迈克尔

21

也许有一种更优雅的方法,但是您可以使用PowerShell将所有扩展名都保存在一个文件夹中,然后仅删除不需要的扩展名。本示例在“ C:\ Program Files \ Internet Explorer”文件夹中获取所有扩展名。

注意:不要忘了(Get-ChildItem ...-用括号括起来;

"*" + ((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 ";*")

返回:

* .cache; *。config; *。cs; *。csproj; *。exe; *。jmconfig; *。manifest; *。settings; *。sln; *。txt

然后,删除不需要的内容。


2
*.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;*.so;*.sql;*.sty;*.svg;*.sys;*.tpl;*.trg;*.trn;*.ttf;*.txt;*.types;*.utf8;*.var;*.woff;...
Marc.2377 16/10/22

3
/ \上面的内容并不全面,由于该站点中注释的字符数限制,我不得不将其删减。太糟糕了,Notepad ++“过滤器”的字符限制甚至更低,恰好为255。因此,“取反”过滤器的确不错。
Marc.2377

我必须在W2K3服务器上搜索文件,因此没有Powershell,但是我在Windows 10 PC上使用W2K3服务器的共享文件夹运行了该脚本,并且运行良好。进行投票。
MrVimes

20

我从另一个论坛获得了帮助我解决此问题的技巧。将您要排除的文件夹标记为“隐藏”。默认情况下,N ++中的“查找文件”不包括隐藏目录。然后,您可以在完成后还原隐藏的目录。

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


2
此博客shellcreeper.com/how-to-exclude-folders-in-notepad-search具有逐步解决方案,可通过将文件夹标记为隐藏来排除它们。
阿斯蒙德

只要您将Windows资源管理器设置为显示隐藏目录,将它们保留为隐藏状态是否对您有任何伤害?花了几分钟将.hg文件夹中的所有内容标记为隐藏。完成搜索后,我的搜索第一次崩溃,但此后运行良好。
本体

1
就我而言,将我的node_modules文件夹标记为“隐藏”需要大约3分钟的时间,从文件资源管理器开始。有什么办法可以加快速度吗?
超级翡翠

1
@Noumenon只是将顶级目录更改为隐藏状态。Notepad ++将跳过隐藏文件夹中的子目录。

0

我只是遇到了同样的问题,发现了一个三步解决方案:

  1. 搜索所有文件
  2. 在新的Notepad ++选项卡中将结果复制为文本
  3. 使用正则表达式删除所有您不感兴趣的条目

这是我的RegEx(开头的两个空格是相关的):

  M:\\。+?\\([^ \\] + \。(csproj | dll)| packages \ .config | Build \ .props)\(\ d + hits?\)([\ r \ n] + \ t。+)+ [\ r \ n] +

我在M:上的所有结果,都必须使开始适应于适合您的结果。如果使用空字符串运行“全部替换”,它将删除以“ csproj”或“ dll”结尾的文件以及“ packages.config”和“ Build.props”文件中的所有结果。


0

请注意已通过Notepad ++ v7.8.7测试

如n00b已回答

这有效:

*.* !*.obj

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

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.