Notepad++ find in files filter EXCLUDE

爷,独闯天下 提交于 2020-07-31 09:43:31

问题


I'm looking for a way to get n++'s find in files dialog to exclude certain files...

the only reference I've found so far is this http://sourceforge.net/project/shownotes.php?release_id=536795&group_id=189927 , but, unfortunately, it doesn't work.

I'm using *[^*.dll] to, I think, search for everything BUT dll files.

How can I resolve this ?

Thanks


回答1:


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.




回答2:


Note, as of December 5th, 2019, Notepad++ 7.8.2 now supports exclude filters.

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

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

Relevant code change here.




回答3:


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 http://stefanstools.sourceforge.net/grepWin.html these days




回答4:


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.




回答5:


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.




回答6:


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".




回答7:


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!



来源:https://stackoverflow.com/questions/4198829/notepad-find-in-files-filter-exclude

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!