Scrivener Stealing Image Files

I’m having an unusual problem.

Every time I open Scrivener, I get a message that it found files that were not in the binder. Then it actively removes image files from my book cover folder - that is NOT in the Scrivener file hierarchy and is not associated with the project - and adds them to the project as recovered. It took me a while to figure out what was emptying my folder.

I didn’t set this behavior, I don’t want this behavior, and now that the files are in Scrivener there’s no easy way to remove them.

I recovered them from their sources, but I can’t have the software just go “yep that’s mine” and steal it from me whenever it feels like it. Anyone know what’s happening?

Where exactly are the image files? Anything inside the .scriv folder “belongs” to Scrivener.

Where did you save your project? Locally on your PC or on a cloud drive? And do you sync it, and if so, how?

Scrivener will attempt to repair damage (which adding your own files into it technically would be) made within the project folder itself, which is the top level folder ending in “.scriv”. As noted in the user manual:

What is crucial to understand is that the top-level folder and everything created beneath it is an integral part of your project. This top-level folder will use the name of the project you chose, with “.scriv” on the end of it…

Now, you say your book cover folder is not within the project folder, but if that’s the case, something is going wildly wrong. I would double-check your paths first, to make sure it isn’t actually inside the project. If not, if you could relay their relative positions that could help.

It’s not in the .scriv folder.

It’s on the same external storage device, but this one file has claimed a folder buried 5 layers deep outside the separate “scrivener” folder I set up for projects. Makes no logical sense.

I haven’t customized anything except a handful of templates, so i’m not synchronizing.

I do move between my laptop and desktop, but all project files are located on an external drive. The book cover folder is also located on that drive, but it’s 5 layers deep in a separate folder hierarchy.

It’s all on an external drive. All Scrivener projects are in a Scrivener folder at the top level of the hierarchy. I have separate book folders that contain other assets, not part of the Scrivener file, including comments from beta readers, graphic assets, PSD files, etc. It just picked the book cover folder, and raids it every time I open the project.

I was wondering if you have ever started Sync with external folder and the synchronization is still working. Check File > Sync > Sync with external folder to see if there’s a path in the dialog to your folder with coverimages…

Just a thought.

Sorry I missed this earlier, but there is: File ▸ Export ▸ Files...

You’re right, it makes no sense at all. The code should be completely oblivious to anything outside of its .scriv master folder. The only exceptions off the top of my head are:

  • Plumbing stuff, loading settings, templates and other stuff from AppData.
  • File dialogue operations, obviously.
  • Folder sync. However that won’t work the way you are describing, so we can rule that out.
  • Any external resource folders: Scratch Pad, automatic backups and global document templates folder.

You are precisely describing what would happen if you tried to store assets buried in the .scriv somewhere. That is the only condition that should cause that warning to appear. So the question becomes, how is it that Scrivener thinks this folder way over there is inside the project? A couple of questions that come to mind:

  • Do you use symlinks at all?
  • Have you ever in the past imported shortcuts, if not explicitly, perhaps by using the File ▸ Import ▸ Research Files as Shortcuts menu command.

The other odd thing about your report is that it keeps happening. If this behaviour triggers, the result is to scoop up the orphaned documents (most often these are sync generated conflict files), import them properly into the binder, and remove the originals. Thus from that point on they won’t trigger the behaviour because they will be normal binder items.

So what does that mean in terms of symptoms? I’m trying to figure this out in practical terms. If you didn’t attend to this every time you loaded the project, would you end up with hundreds of copies of the files in the binder?

For it to happen over and over means either that isn’t working, or something is restoring them over and over. Malfunctioning sync tools might do that, if that’s relevant. I suppose there are other possible explanations as well, but myself I’d be doing so thorough accounting of the project folder’s directory structure, before and after loading. I don’t know how else to get to the bottom of it.

I don’t know how to do that on Windows. With Linux I’d use the always handy tree program to print out a full file and directory dump to a .txt file, and then run diff on the before and afters. Best I can tell, there is no port of that utility, and most suggestions seem to suggest a bunch of parameters in powershell.

If there are symlinks or something in the project, that may help you find them.

I also highly valued “tree” on Linux, and years ago when I got my first Mac, I sought out a Mac Version. It exists and can be installed.

See macos - Mac OS X equivalent of the Ubuntu "tree" command - Super User

I presume this a good source. Don’t know more. Do an interweb search for “install tree on mac” to find other ideas (where I refound above).

Is it possible that you have a .scrivx file outside of the .scriv folder that you use to open the project? A shortcut or other kind of link to the file might do it? Do you have a folder you created that ends in “.scriv”, which contains the images?

When you open the project, is it via the Scrivener interface, or do you use Windows file explorer, and double-click on the .scrivx file?

Occasionally, someone will just copy over a .scrivx file from a hard drive, and at least in previous releases, Scrivener would construct its own project infrastructure from the folder containing the bare .scrivx file. Maybe something similar is happening in combination with something previously mentioned, and so Scrivener thinks your photos folder is in the project that you’re actually opening vs. the one you think you’re opening.

1 Like

It’s a good thought and I checked just to be sure, but I’ve never meddled with synch settings, and there’s still nothing pointing to that folder.

I’m starting to think my software is haunted, or has been commandeered by a rogue AI or something. I mean… most of my logical explanations are drying up.

These are really good points and I checked them all just to make sure, but nope… my scrivx files are isolated into a separate folder. Each book has its own separate folder. I did a search for the scrivx extension and nothing except those that are where they belong.

I’ve somewhat given in by deleting that folder and creating a new one - the problem seems to have been resolved. I’m still a Scrivener acolyte despite having used it for a year, and I might just need to let this issue sleep until circumstance forces me to learn more.

Well, that’s very odd. But glad you figured it out!

Could you be a little more precise about exactly what this means?

A correctly structured project is a .scriv folder, which contains the .scrivx file and a number of sub-folders. So putting all your .scrivx files in the same folder would be a terrible idea.

1 Like