记事本 + + 查找文件过滤器 EXCLUDE

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

到目前为止,我找到的唯一参考是这个 http://sourceforge.net/project/shownotes.php?release_id=536795&group_id=189927,但是,不幸的是,它不工作。

我使用 * [ ^ * . dll ]来搜索除 dll 文件以外的所有内容。

我该怎么办?

谢谢

76385 次浏览

not that its a GOOD answer, but, what I've found that works is this

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

Its definitely not an 'exclude' list, but, by including all the types I need to look at, I get the same result. In my case, I've only got those handfuls of types that I look for often. If your set was wider, this would become even less useful.

Perhaps the real answer is don't use NP++ for this. Have you looked at http://www.wingrep.com/features.htm or

Edit: I use https://tools.stefankueng.com/grepWin.html these days

There may be a more elegant way, but you could use PowerShell to get all of the extensions in a folder, and then just remove the ones you don't want. This example gets all of the extensions in the "C:\Program Files\Internet Explorer" folder.

NB: don't forget to surround (Get-ChildItem ... -join ";*" with parentheses.

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

This returns:

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

Then just remove what you don't want.

I got a tip from another forum that helped me solve this. Mark the folders you want to exclude as 'hidden'. By default the 'Find in Files' in N++ excludes hidden directories. You can then revert the hidden directories when you're done.

A little tedious, but better than nothing.

I just had the same problem and found a 3-step solution:

  1. Search in all files
  2. Copy the result as text in a new Notepad++ tab
  3. Use a regular expression to remove all entries that do not interest you

Here is my RegEx (the two spaces at the start are relevant):

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

All my results where on M:, you will have to adapt the start to what fits your results. If you run a "Replace all" with an empty string it removes all results in files ending with "csproj" or "dll", and also in the files "packages.config" and "Build.props".

The solution from https://notepad-plus-plus.org/community/topic/10653/exclude-directories-from-the-search/5 is to temporarily set those folders you want to exclude to be 'hidden' folders (hiding just the top level sub-dir is sufficient), and this then stops Notepad++ descending into that sub-directory.

Worked for me just now!

Note, as of December 5th, 2019, Notepad++ 7.8.2 now supports exclude filters. The help documentation describes exclude filters in the Find in Files tab section.

For example to exclude exe, zip and jar files, your 'find in files' filter will look like this;

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

Relevant code change in the GitHub commit.

Please note tested with Notepad++ v7.8.7

as n00b has answered

This works:

*.* !*.obj

But this does not work!: *.*;!*.obj => searches no files!

on the other hand this does work *.*; !*.obj