Custom Folder For .scrformat Files in Windows

Is there a way to tell Scrivener for Windows to use a custom folder for saving .scrformat files?

AFAIK, any folder can be used to save Compile Formats. Isn’t that the case?

If they are saved in Project Formats.
I’m saving them in My Formats. So they are adjacent files instead of embedded. I was hoping I could point the save destination for My Formats to my Dropbox folders like I can with my Scrivener projects.

For now, my .scrformat files are left behind in my very deep local app temp windows and other LL hidden folder somewhere near where my backup zip files are residing. Ha!

If in Compile click the gear icon in the lower left see Export Format. When click on current format and then export you open the windows explorer window. Migrate where you want to save the folder/create Format folder in Dropbox, then open folder and click save button and format is on dropbox to use across multiple machines.

Yes. I’ve done that. I just need Scrivener to always save in that folder instead of in the default folder it uses. Because the file I export doesn’t stay up to date.

Your right an exported file would be at just that point in time. I assumed you have finalized the formats and want them saved to reuse later. If actively changing them, then export when ready. or just copy the default folder into drop box when move between computers and tap in again and replace folder when leave other site. I go back and forth between home and a beach house and use a usb key to carry my zip files due to the small size of the free drop box folder.

I decided to change the format back to be included in the project folder. I can live with that.

Scrivener 3.1.5.0

When I import .scrformat and choose save to My Formats they are automatically placed here:

C:\Users\Julian\AppData\Local\LiteratureAndLatte\Scrivener\Compile Formats

(Even the format that Scrivener 3.1.5.0 doesn’t like, i.e. “Vellum Export” (exported from Scrivener 3.1.4.1); i.e. the file is copied, but Scrivener 3.1.5.0 ignores it – it doesn’t appear in the My Formats list.)

(It is a bit frustrating that the folder selected to export to/import from reverts doesn’t stick if one changes it from the default, but that’s a separate issue.)

Wherever that setting is in Scrivener that lets you choose where .scriv files are saved should also have a field for choosing where .scrformat files are saved when using the My Formats option.

Incidentally, the way I’ve handled this particular desire, of having Scrivener’s support files synced between machines, is to set up my sync software to sync that folder directly, and then attach each machine to that sync folder individually.

For those using a more mainstream sync tool that doesn’t allow one to pick and choose what folders they want to sync, there is a way of using symbolic links pointing to the central synced copy, from each satellite machine. So for instance the whole “Scrivener” folder (or maybe just parts within it that you want synced) would be moved to the synced area, becoming the central canonical copy for all machines, and then on each machine, from the “LiteratureAndLatte” folder, a symbolic link named “Scrivener” that points to the synced version would be added.

You generally do want to do things that way because most sync tools are hopeless when it comes to handling symbolic links intelligently. If you put the sym link in the synced area pointing to the AppData folder, chances are it will stop being a link on each machine, and become a physical, separate copy of the folder.

Using this basic idea is how I keep numerous applications’ configuration and support data synced across systems.

Alternatively, some have reported that hard links work better than symbolic links, on Windows. I have less familiarity with Windows in general, so that may well be the case. A hard link, by the way, is a way of adding additional references to the same exact file or folder that is stored on the disk. For example there could be one single .txt file but multiple entries in the file system for that file. They each edit the same file, and to all other software there is no difference between a link like this and a file with one entry in the file system.

In fact all file system stuff is technically linked, meaning anything not hard-linked more than once is simply hard-linked once. That is why deleting files is sometimes referred to as “unlinking” in more technical systems. When you delete a file, it removes the file system link to the data, not the data, leaving it to be eventually reclaimed as other files are created and need that physical space. In a setup where there are multiple links pointing to one resource, removing one link doesn’t disturb the others. Only until the last link is removed and the Recycle Bin emptied (fully removing the link) is the file considered deleted.

So that is why hard links may work better, particularly with sync tools. They are “real files” instead of path-based copies that point to the real file (like Shortcuts are).

Wherever that setting is in Scrivener that lets you choose where .scriv files are saved should also have a field for choosing where .scrformat files are saved when using the My Formats option.

I don’t understand why that would be a project-specific setting, seeing as how the My Formats designation is intended to be the exact opposite of that: formats available universally to all projects.

And if we added something like that (in general options), then it would just result in someone asking for a setting to relocate the wordlists spelling file. And then a setting for one’s custom scriptwriting formats, and what about installed themes? Project templates…

In essence the real question is the whole AppData folder, but that’s the right place to put such a thing, and having an option to not use AppData would be quite strange.

I think overall the right answer is to configure sync correctly, however that is done, so that this folder is synced (or parts of it). This isn’t a desire or “problem” specific to Scrivener after all, so having a strategy for handling it regardless of the software involved is going to be the best route to take.

Back up your “Scrivener” folder in AppData (you should do that regularly anyway), and experiment with some different setups to see which works best.

Ok. That makes better sense. Just choose where AppData folder goes.

Yes, or phrased another way: you have the choice of where the data that goes into that folder sits. It can be anywhere that is accessible by the machine. So long as there is a pointer, a symbolic link or hard link sitting in the place the software is going to be looking then the actual storage location is up to you.