Trying to get presets back after crash

Support for Windows users
Post Reply
upallnight
Posts: 4
Joined: 23 Sep 2021, 12:58

Trying to get presets back after crash

Post by upallnight »

Hi,

So I'm not a programmer but somehow I Frankensteined a few presets together (thanks for he expressions being shared here :) that work perfectly for organizing my media into Anime/Docs/Movies/Shows and into two different Plex Servers. Oh how I wish I had backed up the presets after I built them all.Now I'm l

But my windows threw up all over my machine and never woke up again. So I copied all the old OS files into a new drive and reinstalled.

Now I'm almost back to 100% - except I can't get the presets back. Here's what I have

1. the preferences.backup.xml do not contain any of the presets I need.

2. The old ntuser.dat registry does contain the presets.
Using an offline regviewer I exported everything after ntuser.dat\Software\JavaSoft\Prefs\net\filebot and then after deleting the current node in the live registry I imported the reg file.

But this does nothing. The preset values (like below) are not found in the registry.. I have no idea what to do to get the presets back! any ideas? I'm hoping to import them all in one go..


(If I use the text here to manually recreate the preset - how would I edit it to make it work besides removing the ///'s ?)

Code: Select all

{"@type":"net.filebot.ui.rename./Preset","id":"1630052549","name":"/Series3","path":null,"includes":null,"format":"x:\series\{norm = {it.upper/Initial().lower/Trail().replace/Trailing/Brackets().replace/All(\[`/u00b4/u2018/u2019/u02bb//"//"/u201c/u201d]\, //"'//").replace/All(\[:|]\, //" - //").replace/All(\[?]\, //"!//").replace/All(\[*////s]+\, //" //").replace/All(\////b[/Ii/Vv/Xx]+////b\, { it.upper() }).replace/All(\////b[0-9](?i:th|nd|rd)////b\, { it.lower() }).replace/First(\^(?i)(/Thes)////s(.+)\, \$2, $1\)}; norm(n)}{if (norm(n) != norm(primary/Title)) ' ('+norm(primary/Title)+')'}{fn.contains('3/D') || fn.contains('3-/D') ? ' '+'3/D'://"//"} ({y}  ~  {//" //"+genres.take(3).join(', ')+//")//"}\{episode.special ? '/Special' : '/Season '+s.pad(2)}{//" [$vf $vc + $ac $af]//"} {//" [$source + $hdr]//"}\{norm(n)} - {episode.special ? '/S00/E'+special.pad(2) : s00e00} - {norm(t)}{fn.contains('3/D') || fn.contains('3-/D') ? ' '+'3/D'://"//"}{' (' + fn.match/All(\extended|uncensored|remastered|unrated|uncut|directors.cut|special.edition\)*.upper/Initial()*.lower/Trail().sort().join(', ').replace/All(\[._]\, //" //") + ')'}","database":"/The/T/V/D/B","sort/Order":"/Airdate","match/Mode":"/Opportunistic","language":"en","action":"/M/O/V/E","key/Stroke":null}
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Trying to get presets back after crash

Post by rednoah »

1.
Your custom settings including custom Presets are stored live in the Windows Registry, and preferences.backup.xml is exported once per month. The backup file will contain a snapshot of your setting as they were sometime sometime between 0 and 30 days ago.


2.
You can restore your Presets by clicking Restore User Data and then selecting your preferences.backup.xml file:
viewtopic.php?t=4205


3.
Restoring things on the Windows Registry level should be possible, but I'm not really too familiar with that. FileBot itself uses the Preferences API and isn't technically aware that the underlying storage happens to be the Windows Registry on Windows machines. There seem to be multiple layers of encoding, JSON for one, but the Preferences API itself seems to encode upper-case letters on top of that. You probably won't get lucky decoding this by hand. But you might be able to import the entire registry node as is.
:idea: Please read the FAQ and How to Request Help.
upallnight
Posts: 4
Joined: 23 Sep 2021, 12:58

Re: Trying to get presets back after crash

Post by upallnight »

Thanks for the quick reply!

The more I look at the values I realize I don't be able to decode it lol.

Unfortuntely the preferences.backup.xml doesn't have the updated presets :(

So how would I import the node? whenever I export from the old ntuser/dat the reg file looks fine, but when I import (says imported succesfully) but none of the values are there...


It's killing to see all the data there but can't find a way to bring it back lol
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Trying to get presets back after crash

Post by rednoah »

Restoring Software\JavaSoft\Prefs\net\filebot node from your old registry should do the trick. That's generic Windows Registry stuff unrelated to FileBot specifically, so Google should be able to help.

Maybe this?
https://www.raymond.cc/blog/recover-exp ... try-files/
:idea: Please read the FAQ and How to Request Help.
upallnight
Posts: 4
Joined: 23 Sep 2021, 12:58

Re: Trying to get presets back after crash

Post by upallnight »

That article helped tremendously! I had to change a few things to get the keys to import correctly and I'm happy to say the presets are all back, Thanks so much!
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Trying to get presets back after crash

Post by rednoah »

upallnight wrote: 23 Sep 2021, 21:48 I had to change a few things to get the keys to import correctly and I'm happy to say the presets are all back
:arrow: Export User Data to Google Drive right now! Optionally, paste your custom formats here as well just in case. ;)
:idea: Please read the FAQ and How to Request Help.
upallnight
Posts: 4
Joined: 23 Sep 2021, 12:58

Re: Trying to get presets back after crash

Post by upallnight »

First thing I did was update all backups! Thank you :)

Here's what I use for media content types - it's not perfected as it's copy pasta amalgamated from other user's great schemes. But it works really good for multiple methods of organization including explorer and Plex.

Code: Select all

Movies
/{genre}/{collection.replaceFirst(/^(?i)(The)\s(.+)/, /$2, $1/).replaceFirst(/^(?i)(Collection of the)\s(.+)/, /$2 Collection/).replaceAll(/Saga Collection/, "Saga").replaceAll(/[`´‘’ʻ""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ")}\{norm = {it.upperInitial().lowerTrail().replaceTrailingBrackets().replaceAll(/[`´‘’ʻ""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ").replaceAll(/\b[IiVvXx]+\b/, { it.upper() }).replaceAll(/\b[0-9](?i:th|nd|rd)\b/, { it.lower() }).replaceFirst(/^(?i)(Thek)\s(.+)/, /$2, $1/)}; norm(n)}{if (norm(n) != norm(primaryTitle)) ' ('+norm(primaryTitle)+')'}{fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':""} ({y}{', '+any{certification}{imdb.certification}.replaceAll(/^\d+$/, 'PG-$0')}{" ~ "}{" "+genres.take(3).join(', ')+")"}/{norm(n)}{fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':""}{' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|dc|se|imax|dual.audio|directors.cut|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ','} ({y}) {"[$vf $vc + $ac $af]"} {"[$source + $hdr]"} {'~'}   ({t.replaceAll(/[`´‘’ʻ]/, '-')},{" $minutes Min"}, {director})

Code: Select all

Series
/{norm = {it.upperInitial().lowerTrail().replaceTrailingBrackets().replaceAll(/[`´‘’ʻ""“”]/, "'").replaceAll(/[:|]/, " - ").replaceAll(/[?]/, "!").replaceAll(/[*\s]+/, " ").replaceAll(/\b[IiVvXx]+\b/, { it.upper() }).replaceAll(/\b[0-9](?i:th|nd|rd)\b/, { it.lower() }).replaceFirst(/^(?i)(Thes)\s(.+)/, /$2, $1/)}; norm(n)}{if (norm(n) != norm(primaryTitle)) ' ('+norm(primaryTitle)+')'}{fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':" "} ({y}  ~  {" "+genres.take(3).join(', ')+")"}/{episode.special ? 'Special' : 'Season '+s.pad(2)}{" [$vf $vc + $ac $af]"} {" [$source + $hdr]"}/{norm(n)} ~ {episode.special ? 'S00E'+special.pad(2) : s00e00} - {norm(t)}{fn.contains('3D') || fn.contains('3-D') ? ' '+'3D':""}{' (' + fn.matchAll(/extended|uncensored|remastered|unrated|uncut|directors.cut|dual.audio|special.edition/)*.upperInitial()*.lowerTrail().sort().join(', ').replaceAll(/[._]/, " ") + ')'}
Post Reply