Log'N'Rock: Save Becky! v2 registry settings with VBScript - Log'N'Rock

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Save Becky! v2 registry settings with VBScript

#1 User is offline   Brummelchen Icon

  • Becky! Support Staff
  • Icon
  • Group: Road Crew
  • Posts: 1,286
  • Joined: 15-August 09
  • Gender:Male
  • Location:Germany

Posted 20 August 2007 - 12:51 AM

smallest solution for windows xp and other which can execute VBScript
(save as becky2_registry_backup.vbs)
Improved versions at the end of thread
'export becky! v2 registry settings
'copyright 2007 Brummelchen
'http://beckymail.be.funpic.de/
'http://www.mickeytheman.com
'all rights reserved

mDate = Date
mTime = Time

mDate = Mid(mDate,7,4) & "." & Mid(mDate,4,2) & "." & Mid(mDate,1,2)
mTime = Mid(mTime,1,2) & "-" & Mid(mTime,4,2) & "-" & Mid(mTime,7,2)
rFile = "becky2_" & mDate & "_" & mTime & ".reg"

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("%windir%\regedit.exe" & " /a " & rFile & " HKEY_CURRENT_USER\Software\RimArts")

result eg.: becky2_2007.08.20_02-54-14.reg
(stored in same folder as the VBS)

Modifying possible without removing the copyright notice!
0

#2 User is offline   Brummelchen Icon

  • Becky! Support Staff
  • Icon
  • Group: Road Crew
  • Posts: 1,286
  • Joined: 15-August 09
  • Gender:Male
  • Location:Germany

Posted 20 August 2007 - 01:05 AM

and now the improved version with target folder and creation of that folder
'export becky! v2 registry settings
'copyright 2007 Brummelchen
'http://beckymail.be.funpic.de/
'http://www.mickeytheman.com
'all rights reserved

mDate = Date
mTime = Time
myFolder = "c:\myfolder\"

mDate = Mid(mDate,7,4) & "." & Mid(mDate,4,2) & "." & Mid(mDate,1,2)
mTime = Mid(mTime,1,2) & "-" & Mid(mTime,4,2) & "-" & Mid(mTime,7,2)
regfile = "becky2_" & mDate & "_" & mTime & ".reg"

If myfolder <> "" Then
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  If objFSO.FolderExists(myfolder) Then
  Else
    'create folder object
    Set objFolder = objFSO.CreateFolder(myFolder)
  End If
End If

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("%windir%\regedit.exe" & " /a " & myFolder & regfile & " HKEY_CURRENT_USER\Software\RimArts")

NOTE: myfolder MUST end with a leading backslash \ -> "c:\myfolder\"
Leave myfolder empty (myfolder = "") if target is same folder (creation skipped)

Look below for improved script!
0

#3 User is offline   Brummelchen Icon

  • Becky! Support Staff
  • Icon
  • Group: Road Crew
  • Posts: 1,286
  • Joined: 15-August 09
  • Gender:Male
  • Location:Germany

Posted 21 August 2007 - 03:28 PM

more improved:
- set script folder if myfolder is empty
- check on trailing backslash and add if missing
(save as becky2_registry_backup.vbs)
'export becky! v2 registry settings
'copyright 2007 Brummelchen
'http://beckymail.be.funpic.de/
'http://www.mickeytheman.com
'all rights reserved

Dim mDate, mTime, myFolder, regfile, sn, fn, mRight, objFSO, objFolder

mDate = Date
mTime = Time
myFolder = "c:\myfolder"

mDate = Mid(mDate,7,4) & "." & Mid(mDate,4,2) & "." & Mid(mDate,1,2)
mTime = Mid(mTime,1,2) & "-" & Mid(mTime,4,2) & "-" & Mid(mTime,7,2)
regfile = "becky2_" & mDate & "_" & mTime & ".reg"

If myFolder = "" Then
  'myFolder is empty > set script folder
  sn = Wscript.ScriptName        ' Script Name        
  fn = Wscript.ScriptFullName    ' Fully Qualified Script Name
  myFolder = Replace(fn, "\" & sn, "") ' Drive / Folder path
  myFolder = myFolder & "\"
End If

'check on backslash as last token
mRight = Right(myFolder,1)
If mRight <> "\" Then
  myFolder = myFolder & "\"
End If

'check if folder exists
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(myFolder) Then
Else
  'create folder object
  Set objFolder = objFSO.CreateFolder(myFolder)
End If

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("%windir%\regedit.exe" & " /a " & myFolder & regfile & " HKEY_CURRENT_USER\Software\RimArts")

0

#4

  • Group: Guests

Posted 22 August 2007 - 11:33 AM

Hey Brummelchen, where did you find info regarding the /a commandline switch for regedit.exe . I don't find it anywhere, not even on Microsoft site.
0

#5 User is offline   Brummelchen Icon

  • Becky! Support Staff
  • Icon
  • Group: Road Crew
  • Posts: 1,286
  • Joined: 15-August 09
  • Gender:Male
  • Location:Germany

Posted 22 August 2007 - 12:05 PM

http://www.google.co...edit+parameters

/e is like /a but /a exports old format with REGEDIT4 (Win9x/ME/NT) instead v5 from WinXP.
0

#6

  • Group: Guests

Posted 22 August 2007 - 02:25 PM

Brummelchen, on Aug 22 2007, 06:05 AM, said:

http://www.google.co...edit+parameters

/e is like /a but /a exports old format with REGEDIT4 (Win9x/ME/NT) instead v5 from WinXP.

This is weird, never find anything about /a switch, look like 100 sites found by google.
Anyway, you method using the /a switch produces *.reg files which are actually only half as big as by using the /e switch. Great ! & Thanks for the great VBS script ! :)
0

#7 User is offline   Brummelchen Icon

  • Becky! Support Staff
  • Icon
  • Group: Road Crew
  • Posts: 1,286
  • Joined: 15-August 09
  • Gender:Male
  • Location:Germany

Posted 24 August 2007 - 10:32 PM

Next improved version (internal build 5)

Fixed
- subfolders can be created
- folders can have long names, fixed

'export becky! v2 registry settings
'copyright 2007 Brummelchen
'http://beckymail.be.funpic.de/
'http://www.mickeytheman.com
'all rights reserved
'special thanks @ Dominator

Dim mDate, mTime, myFolder, mRoot, regfile, sn, fn, mRight, objFSO, objFolder

mDate = Date
mTime = Time
myFolder = "c:\my folder\becky"

mDate = Mid(mDate,7,4) & "." & Mid(mDate,4,2) & "." & Mid(mDate,1,2)
mTime = Mid(mTime,1,2) & "-" & Mid(mTime,4,2) & "-" & Mid(mTime,7,2)
regfile = "becky2_" & mDate & "_" & mTime & ".reg"

If myFolder = "" Then
  'myFolder is empty > set script folder
  sn = Wscript.ScriptName        ' Script Name        
  fn = Wscript.ScriptFullName    ' Fully Qualified Script Name
  myFolder = Replace(fn, "\" & sn, "") ' Drive / Folder path
  myFolder = myFolder & "\"
  mFlag1 = "1"
Else
  mFlag1 = "0"
End If

'check on backslash as last token
mRight = Right(myFolder,1)
If mRight <> "\" Then
  myFolder = myFolder & "\"
End If

'check if folder exists
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(myfolder) Then
Else
  'create folder object
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Call GeneratePath(myFolder)
End If

WScript.Sleep 1000

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("%windir%\regedit.exe" & " /a " & chr(34) & myFolder & regfile & chr(34) & " HKEY_CURRENT_USER\Software\RimArts")


Function GeneratePath(PFAD)
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  If Not objFSO.FolderExists(PFAD) Then
    If Not objFSO.FolderExists(objFSO.GetParentFolderName(PFAD)) Then
      Call GeneratePath(objFSO.GetParentFolderName(PFAD))
    End If
    Call objFSO.CreateFolder(PFAD)
  End If
End Function

0

#8 User is offline   tosbsas Icon

  • Becky! Support Staff
  • Icon
  • Group: Road Crew
  • Posts: 477
  • Joined: 16-August 09

Posted 24 August 2007 - 11:18 PM

thats it (:-))

Ruben
0

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users