THU APR 19, 2018 8:40 PM

Hello everyone,
I’d like to make a “collection” with only those items that are not text. So, for example, a collection that would contain only PDFs, Images, etc. I can’t seem to make the search function do that, unless I tag those file ahead of time with some keyword/status I can search for. Is there a different way to do this?

Did you intend for the subject of this to be the date and time? I ask since it might make this difficult to find for anyone else searching for the topic in the future.

There is kind of a way of doing this, but not with surgical precision. Set up your project search like so:

  • Change the scope to “Text” only at the top.
  • The operator doesn’t matter.
  • For Options:
    • Set “Invert results”.
    • Leave the rest default.
    • Optionally: the “Search Binder Selection Only” setting may be useful, as you can select only those folders that you are sure contain research files, and thus weed out a lot of of the false positives described below, from the Draft folder in particular.
  • Now search for a single asterisk: “*”.

The final ingredient finds all items with data in the provided scopes (or just entirely everything, if you have the scope set to “All”)—so in this case all items with main text content. And then obviously inverting those results will show us all items that don’t have any text.

That will naturally include anything incapable of having text, like images. There is a caveat! PDFs are considered to have text if they are text-based files (as opposed to images or illustrations). I.e. if you can search for a word in a PDF and find it, then it is considered to have text. If they are mixed in with primarily non-text binder items, then you may be able to use that characteristic favourably, by taking the invert flag off and using the aforementioned “binder selection only” setting. The other problem is that this approach will of course also find every little binder item that you never typed into (which may well include all folders).

So like I say, it’s not super precise, but it’s a start, and sometimes that can be good enough if you’re building a list of things. When I’m looking for stuff across several fuzzy intersections, I’ll create a collection for it, and selectively add search results to it as I go. The final result isn’t dynamic, but it’s also something that would be very difficult to actually search for in one shot. But that might be how you go about getting a list for bulk tagging, if dynamic searching is something you need.

Ultimately, Scrivener is decidedly not the kind of software that has any regard at all for the kind of things you put into a project. While it does store that information internally (mainly to handle external editor loading, editor mode and footer bar info), there are zero tools for searching by file type, no outliner column for sorting, nor even file size filtering which could also help weed out text. This is one area where it can be most strongly stated to not be a database style program. So that is worth bearing in mind when coming up with usage scenarios: it considers research to pretty much be an equal peer to text, and it’s binder items all the way down, from there. :slight_smile:

Oh, as a post script on the matter of tagging, there is one form of type that Scrivener is quite capable of, it’s just that we would ordinarily think of it as being something you’d use for establishing the compile structure of your work: Section Types. Create a type called “Media” in Project ▸ Project Settings..., and look into how you can set these in an automated or bulk fashion, in §7.5.1, Applying Section Types Manually, of the user manual PDF. You can search and filter by Section Type alone, and unlike metadata, these can be inherited by parent folders. E.g. a folder that contains nothing but screenshots and can be set to establish its child items as “Media” by default.