Backup & Restore Scripts for Cubase on Windows

There have been numerous requests for an easy way to backup all Cubase related presets and settings and to restore them if needed. Profiles are a powerful tool to save a variety of settings but also come with limitations. Due to Steinberg’s complex folder structure, Cubase settings and presets can be found in a variety of locations. Therefore, it is a rather cumbersome task to do more comprehensive backups and restores manually. These Powershell scripts take care of it with a single click.


Screenshot Backup Script

They are not only useful to keep an updated backup, they will also come in handy in case Cubase needs a restore due to corrupted files or to easily set up Cubase on a new computer with all your previous settings and presets but without accumulated clutter that comes with an entire hard drive copy.


Screenshot Restore Script

Backup and Restore scripts apply to all Cubase versions from Cubase 12 to Cubase 15.

Important: Since not all VSTis and 3rd-party plugins have manditory locations for their associated files, these scripts focus exclusively on general Cubase settings and presets (including MediaBay). Therefore, Cubase project files (*.cpr), audio samples and media files, installed (3rd party) VST(i) plugins and data, as well as license files and activations are intentionally NOT backed up. An exception to the rule are presets which are stored as *.vstpreset, including 3rd party plugins (for more info, see Quick Guide).

However, please feel free to adapt the scripts to your liking if you want to include additional content. You will find comments in both scripts which will help you to adjust both scripts to your individual needs.

The ZIP file below contains two Powershell scripts (Backup & Restore) and a Quick Guide.
Comments and suggestions are welcome :slight_smile:

Enjoy!

ASM & Reco29


Find the latest version in the “Solved by” box, please.

:clap: for the effort of making this, I never got round to implementing my idea for a Cubase backup script (I envisioned a cross platform application with a GUI, but maybe that way a bit too ambitious :grin:).

Could I suggest creating a github repo for your code? Could make it easier a) for other people to add suggestions/fixes/adaptions via pull requests, and b) for you managing the versions/zips release (could possibly even be automated with github actions)

That’s an excellent idea, why didn’t I think of that? Do you know anyone who could take it on? Unfortunately, we (@Reco29 and me) have neither the time nor the knowledge to set up and manage a GitHub account. :confused:

But thank you very much for the suggestion anyway; it would certainly enhance this project. :+1:

Very nice script for Cubase users.

Two notes:

  1. The PowerShell security model is the same between Windows 10 and 11. It wasn’t locked down more in Windows 11.
  2. In Windows 11, you can also enable local unsigned PowerShell scripts through Windows settings.

Settings > System > Advanced (or “For Developers” depending on your release of 11) and then expand the PowerShell option.

Also, I love the suggestion of putting this on GitHub so it can be easily found and contributed to.

Pete
Microsoft

Well, I could create a repo for the code in my gh account, but then if you wanted to change something, you would still need a github account yourself and get somewhat acquainted with git (unless you haven’t done so: it is worth it, but can also be a real pain ;)). I could then add you as a collaborator, so you have write access to the repo and could push.

I could probably (with the help of some LLM) cobble together an action that would create a zip file and add that as a release if someone pushed a version tag.

Agree regarding the default settings. However, new methods (SAC, MotW) have also been introduced or tightened, which can hinder execution. This can lead to a script that ran without issues under Windows 10 being blocked under Windows 11.

Unfortunately, as you noted, this setting isn’t available in all tiers of Windows. Therefore, in the troubleshooting section, we opted for the method of changing it in the PowerShell console. Nevertheless, the method you mention is an equally valid alternative; thank you for mentioning it. :slightly_smiling_face:

Thank you for your generous offer! I’d be happy to get back to you about it at some point. For the time being, due to our limited resources, we’ll continue distributing the data via this forum. We never intended for it to grow any larger than it’s now, and certainly not to become more complicated and labor-intensive. Perhaps we should simply observe it for a while and make a decision if necessary later. :slightly_smiling_face:

Anyway, thank you for your interest and the great idea of yours! :+1:

Hi @fese and @Psychlist1972 ,

do you already have ideas to improve the scripts by any chance? I think it would be nice to open a discussion here in order to “read the forum” with regard to wishes and suggestions. Of course, there’s always room for improvement :wink:

For the time being, I think these scripts already fill a gap that a lot of people have been asking for. Would be nice to hear how the scripts work “in action” :cowboy_hat_face: - yeehaw!

To be honest, I haven’t actually used the script :woozy_face:… I had a quick glance at the code when it was first released out of curiosity (looked good to me), but I already have three or four different backups of all my relevant data at different locations anyway, so I am probably not the target audience for it :grinning_face_with_smiling_eyes:. But maybe I download and test it this weekend.

We are always interested in constructive feedback, as it represents potential for future improvements to our project. Thus we greatly appreciate you taking the time to review our offer. :slightly_smiling_face:

Well, one suggestion that immediately comes to mind - which I had for my “vaporware” version - would a GUI to enhance usability for people not familiar with a console screen ;=).

That’s a valid point in this context, one we also considered. But the effort involved seemed too huge. After all, this solution is only about minimal interactivity; in fact, the backup function doesn’t even require some. Also, the queries during the restore process have intentionally been reduced to a minimum, just enough for reasonable control of the recovery.

Yes, you’re absolutely right, this solution could undoubtedly be developed into a high-end program, but that was never our intention. What we wanted was to make it as simple and easily customizable as possible. I believe we’ve largely succeeded in that. :slightly_smiling_face:

This is great. I hope they´ll add this to all Steinberg products natively. Really nice basic stuff, that should be included in..

New Version 1.05

NEW
Processing for folder structure outside of %USERPROFILE% added

  • Support for UNC network paths added
  • Improved source folders definition (single location configuration)
  • Minor adaptive changes

It also comes with a new colour scheme.
Slick, @ASM :+1: :+1:

Great - thank you for the update, @ASM and @Reco29 . Especially the added UNC capabilities are great, for example for NAS owners.

Thank you but @ASM deserves the credit! He’s behind the programming and it’s him who wrote that marvellously helpful script :+1:
The cool thing is that you can easily add all sorts of folders from different locations and combine them under a header. This way, you can backup and restore/update specific presets from 3rd party plugins with a single click. Super helpful!
Kudos to @ASM !

Sorry for having mixed this up. Text adjusted above :slight_smile:

@ASM @Reco29

Hi there, I’ve finally got the time to have a look at these scripts. Really great …

Since I still have C12, 13, 14 installed on my PC, I was able to adapt those scripts to that.
However, I tried to change the default backup folder, but I don’t get the script to put them where I want.

That is, my default user folders are on a separate drive. They’re on F\Documents ….

These are also correctly registered in the Win Registry:

But no matter what I try to indicate the correct path, the backups are always put on my C:\Users→username→etc… ! Or in subfolders of the script files … That’s not where I want them to be.

So I could really need some help for the correct syntax to save the backups into the correct folder (F:\Documents\Steinberg\Backups).

TIA,

Ralf

And for that same reason, MIDI Remotes are not getting updated, since they’re not in the expected folders:

Hi,
you hand over the destination of your backup/restore folder via the command line in the hyperlink. That should work just fine, I am also using another drive and the location is stored in the hyperlink. If there’s no backup destination in the hyperlink the script defaults like you described.