“.scriv” is the name used for the “envelope” folders that contain actual “projectname.scrivx” (note the x) project files and folders with the documents and other necessary things. No extraneous material is allowed within these envelope folders, in order to keep from confusing the program. This is why using .scriv within your proposed save file name will trigger a rejection.
In other words, try compiling to just “output.txt”, and of course not within a .scriv folder.
@DavidR, I don’t really understand what you are trying to advocate. Look:
I don’t try to save the file to my_project.scriv. I save it to the normal directory, i.e. Test. It’s not possible because Scrivener don’t like “.scriv” part in the name of the file. This is just a stupid bug.
Scrivener creates folders with the filename extension “.scriv”. It’s unusual to name a folder in this way, but it allows Scrivener to do what it does in the way that it does it. The filename of all such folders is intended to be the name of your project. So you might have folders named MyNovel.scriv, All Good.scriv (for a project named “All Good”), etc. The content of each such folder is very specifically defined by the software: a file with the project’s name and the extension .scrivx; and three folders named Files, Settings, and Snapshots. All of these are created, used, and maintained by Scrivener software in the course of the user’s recording and organizing their research, concepts, test chapters, characters, plot lines, drafts, etc., etc. The user never needs to, and never should, touch them directly.
I apologize if this is over-explaining (I’m prone to that). The point is that one of the implications of this data structure is that only the program is allowed to create and maintain folders with the .scriv suffix. Hence trying to save anything with “.scriv” included anywhere in the filename, no matter where you try to save it, will result in an error message and a refusal to save. The program is trying to prevent the creation of “unmanaged” .scriv structures, and can’t tell what your intentions are.
I hope this is clearer. There is no bug here. It’s just how Scrivener works. Out of curiosity, why do you want to include .scriv in the filename?
Firstly, it would be better the program could check whether “.scriv” is the last part of the directory name. This is really very simple task. Scrivener save it’s projects as “project.scriv”, not “project.scriv.something”. Hence, there no need to ban the directories with “.scriv” in the middle.
Secondly, the computer can distinguish between files and directories. Directories have “D” attribute; files don’t have it. That is, there is no need to “protect” us from “.scriv” files.
And the 3rd point (the most important one): When we save the output file as “project.scriv.txt” (or even “project.scriv”), we don’t try to put anything inside “.scriv” entity. Instead, we create the entity. There is no rationale to prevent us from creating “.scriv” entities. This is toooooooo paternalistic.
The real answer will be very long. To put it in simple words, I need to distinguish between “normal” text files and “generated” text files. It’s all about scripting. I have a special script to copy files/directories and to backup them.
By that same logic, you can simply change your output file from.scriv.txt to .gen.txt (or .out.txt or any other string that isn’t .scriv.txt), change your scripts once, and you’re good to go instead of getting into arguments with strangers on the Internet. I suspect that the current ban on filenames with .scriv in them inside of a current Scrivener project comes from one too many support cases where people tried to monkey with the internal structure of the project. We regularly see people post who have managed to dump their backups into a Scrivener project folder. Now that you know it’s an issue, you can make the necessary change and keep right being productive with your custom, advanced workflow.
I have another script that compiles the scrivener project when I press F12, and the filename of the output file is the same as the filename of the project. That is, when I need to compile the backup (yeah… sometimes I need), it’s not possible.
Of course I can use some dirty workaround for myself and the issue itself is not “very” big, but hey, it’s a bug, not a feature or a safety belt or something like it.
For example, I need to compile project.scriv@20200130_1300.scriv.
The project will be opened fine.
Then I presss F12 and one of my scripts is trying to save the output file as project.scriv@20200130_1300.txt.
The name of the output file is created automatically and is based on the name of the project itself. This is for the same reason I mentioned earlier: to keep the correct sorting.
john1013, it seems to me that you have a very unusual, perhaps unique, use case and practice here. You’ve bumped up against a specific limitation of Scrivener’s file-naming conventions. If your system is such that the minor adjustments suggested here will throw it completely off, it may be that the system is too sensitive. In any case, it hardly seems fair to complain that Scrivener’s not accommodating your unique practice is a terrible bug. I invite you to search the forums here and see if you can find anyone else who finds this convention and Scrivener’s defense of it so deeply problematic.
What Scrivener does may indeed be paternalistic. I hate it that my Toyota puts up a special symbol on the dashboard when it’s cold outside. I know it’s cold outside; why tell me? But if I get really upset about it, I’ll put a piece of black tape over the indicator. Very few people have your detailed knowledge of how computers work and ought to work. Some writers barely know where the on/off switch is. It’s for them that Scrivener feels a need to put this defense in place. Until there are more of you than there are of them, I’m afraid it’s likely to remain in place.
@David, may be I look too emotional or aggressive person, sorry for that. I don’t say that this bug is “terrible”. Actually, this bug is a minor one. What I tried to explain is that there are no technical or even UI/UX reasons to ban such filenames.
This ban doesn’t have anything with the issue that low-skilled people try to put backups inside scriv projects or do another silly things.
When you create scriv file - you cannot screw up anything. You just cannot.
It was simple mistake somewhere in the code. We, developers, make many errors aka bugs. Some of them are very funny or childish ones.