Thanks, Stan,

for sharing your work with all.

But it only makes me feel sorry - I am a non-programmer user of GnuCash :-(

I still hope there will be - some time in the not too distant future - a program which can be used also by a non-programmer to move a well working GnuCash system from one Widows 10 computer to a new Windows 10 computer.

Still not giving up hope.

Norbert


On 13.7.2018 5:29, Stan Brown wrote:
Dick, here is a batch file I use to save and restore my GnuCash settings
and reports, for transferring them between machines.  You'd need to
change my file names and paths to yours, but still it could save you
some time.

If you don't want to be elaborate as I am -- my batch files tend to be a
bit over-engineered -- just look for the "reg" lines. Those are the ones
that save or restore the settings and reports.

@set MYECHO=echo off
@%MYECHO
set RZIPNAME=_stanReports.zip
set GFILNAME=_stanSettings.reg
setlocal
set MYNAME=%@name[%0]
if "%1" ne "/?" .and. "%1" ne "-?" .and. "%1" ne "" goto 000_Start
echo off
echo.
echo %MYNAME: Save or restore GnuCash settings
echo.
echo options:
echo     /q     Quiet
echo     /v     Verbose
echo     /purge Delete saved log files (used with "save" or "apply")
echo     save   Save settings
echo     apply  Apply saved settings
echo     purge  Delete saved log files.
echo Just one of 'save', 'apply', 'purge' is required.
echo.
echo Settings are saved in %GFILNAME and %RZIPNAME, in the same
echo folder as the GnuCash accounting file.
quit
********************************************************************************
2018-02-25  new program
2018-03-21  Add the purge option.
2018-03-31  With 'purge', suppress error message if there are no files ...
2018-04-01  ... and also delete GnuCash files in %TEMP%.
2018-04-18  Add /purge as an option, used with "save" or "apply".
2018-05-05  Program didn't abort after an an unknown option.

     Copyright 2018 Stan Brown, Oak Road Systems  http://oakroadsystems.com/
********************************************************************************
:000_Start

:: Scan the options.
set ACTION=none
set PURGING=0
set VERBOSE=1
do while "%1" ne ""
     iff %1 == save .or. %1 == apply .or. %1 == purge then
         iff %ACTION ne none then
             echo %MYNAME: Only one of 'save', 'apply', purge is allowed.
             cancel
         endiff
         set ACTION=%@lower[%1]
     elseiff %1 == /q then
         set VERBOSE=0
     elseiff %1 == /v then
         set VERBOSE=2
     elseiff %1 == /purge then
         set PURGING=1
     else
         echo %MYNAME: Unknown option '%1'.
         cancel 2
     endiff
     shift
enddo
iff %ACTION == none then
     echo %MYNAME: You need one of 'save', 'apply', or 'purge'.
     cancel
elseiff %VERBOSE == 2 then
     echo %MYNAME: Plaanning to %ACTION the %@if[%ACTION == 
purge,files,settings].
     echo.
endiff

:: Check existence of files and folders.
     set GDIR=e:\sb\$\GnuCash
iff not isdir "%GDIR" then
     echo %MYNAME: Financials folder '%GDIR' not found.
     cancel
elseiff not exist "%GDIR\Stan.gnucash" then
     echo %MYNAME: File Stan.gnucash not found in '%GDIR'.
     cancel
endiff
set RDIR=%USERPROFILE\.gnucash
set RZIP=%GDIR\%RZIPNAME
set GKEY=HKCU\Software\GSettings\org\gnucash
set GFIL=%GDIR\%GFILNAME
iff %VERBOSE == 2 then
     echo %MYNAME: Financial database is in folder '%GDIR'.
     echo %MYNAME: GnuCash reports are in folder '%RDIR'.
     echo %MYNAME: GnuCash reports are zipped in file '%RZIP'.
     echo %MYNAME: GnuCash settings are in '%GKEY'.
     echo %MYNAME: GnuCash settings are exported to file '%GFIL'.
     echo.
endiff

iff %ACTION == save then
     if %PURGING == 1 gosub PurgeAction
     iff not isdir "%RDIR" then
         echo %MYNAME: Reports folder '%RDIR' not found.
         cancel
     endiff
     pushd "%RDIR"
     set ZIPOPT=
     set OPTS=-r -T -o
     if %VERBOSE lt 2 set OPTS=%OPTS -q
     @if %VERBOSE ge 1 echo on
     zip %OPTS "%RZIP" *
     @%MYECHO
     @echo.
     popd
     @if %VERBOSE ge 1 echo on
     reg export %GKEY "%GFIL" /y
     @%MYECHO

elseiff %ACTION == apply then
     if %PURGING == 1 gosub PurgeAction
     iff not exist "%GFIL" then
         echo %MYNAME: Registy export file '%GFIL' not found.
         cancel
     endiff
     iff not exist "%RZIP" then
         echo %MYNAME: Reports ZIP file '%RZIP' not found.
         cancel
     endiff
     iff not isdir "%RDIR" then
         echo %MYNAME: Reports folder '%RDIR' not found.
         input /c /k"yYnN" /l1 Create it?^  %%X
         echo.
         if %X == N cancel
         md "%RDIR"
     endiff
     set OPTS=-uo
     if %VERBOSE == 0 set OPTS=%OPTS -q
     @if %VERBOSE ge 1 echo on
     unzip %OPTS "%RZIP" -d "%RDIR"
     @%MYECHO
     @echo.
     @if %VERBOSE ge 1 echo on
     reg delete %GKEY /f
     @echo.
     reg import "%GFIL"
     @%MYECHO

elseiff %ACTION == purge then
     gosub PurgeAction

else
     echo %MYNAME: Internal error: %%ACTION = '%ACTION'
     cancel
endiff
quit

:PurgeAction
     set OPTS=/R /E
     if %VERBOSE lt 2 set OPTS=/T %OPTS
     echos %MYNAME: purging ... ``
     del %OPTS %GC\*.gnucash.20* %TEMP\gnc-report*html;gnucash*log
     return


_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
If you are using Nabble or Gmane, please see 
https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to