@Misty
The "nobackup" is NOT a "command", it is an "option", .
@erwwan.l
In a perfect world the syntax would be more *like*:
COMMAND [OPTION(s)] TARGET PATH InternalCOMMAND_or_VERB [SOURCE|[TYPE] [VALUE]]
I.e. (completely fictional example):
1) Offlinereg.exe TEMPREG.DAT "" create <- this creates a new hive with NO named root hive in it, if TEMPREG.DAT already exists gives the error "Registry file already exists"
2) Offlinereg.exe /F TEMPREG.DAT "" create <- this creates a new hive with NO named root hive in it, if TEMPREG.DAT already exists it Forcefully overwrites it
3) Offlinereg.exe TEMPREG.DAT Classes createkey <- this creates a root key in 1) or 2) named Classes, if the key already exists it does nothing, since NO /F command is specified, if the key does not exist then (and only then) it will create the "backup"
4) Offlinereg.exe /F TEMPREG.DAT Classes createkey <- this creates a root key in 1) or 2) named Classes, if the key already exists it does nothing, since /F command is specified, no "backup" is made
5) Offlinereg.exe TEMPREG.DAT Classes\CLSID createkey <- this creates a root key in 1) or 2) named Classes and in it a key named CLSID, if the key already exists it does nothing, as above
6) Offlinereg.exe TEMPREG.DAT Classes\CLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 createkey ->as above
7) Offlinereg.exe TEMPREG.DAT Classes\CLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 createvalue pippo 1 ->as above but also creates a value of TYPE 1 (Reg_SZ) called "pippo" leaving it empty
8) Offlinereg.exe TEMPREG.DAT Classes\CLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 createvalue pippo 1 pluto ->as above but giving the to the value named "pippo" the actual content "pluto"
9) Offlinereg.exe TEMPREG.DAT Classes\CLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 setvalue pippo 1 topolinoi-> this will change the value of pippo (only if already existing) to "topolino"
10)Offlinereg.exe TEMPREG.DAT import C:\myfile.reg <- this will import the myfile.reg contents to the root of TEMPREG.DAT
11) Offlinereg.exe TEMPREG.DAT Classes import C:\myfile.reg <- this will import the myfile.reg contents to the "relative path" TEMPREG.DAT\Classes
12) Offlinereg.exe TEMPREG.DAT Classes\CLSID{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}\InProcServer32 deletekey ->correspondent to: Example : OfflineReg "c:\temp\system" a_key_path deletekey a_key, but, it as to be decided, if there is no sub-keys it will delete it, otherwise if the option /R is provided it will recursively delete all keys and values under the tree, thus replacing Example : OfflineReg "c:\temp\system" a_key_path deletekeys
etc., these remain the same:
Example : OfflineReg "c:\temp\system" a_key_path getvalue a_value_name
Example : OfflineReg "c:\temp\system" a_key_path deletevalue a_value
Example : OfflineReg "c:\temp\system" a_key_path enumkeys <- here a /R (recursive) option may be added (or a /S for analogy with DIR)
These may possibly be merged into one by using an option
Example : OfflineReg "c:\temp\system" a_key_path enumvalues
Example : OfflineReg "c:\temp\system" a_key_path enumallvalues
In practice - besides the "options" that may go BEFORE any other parameter, the actual Internal_command is always the third token, after TARGET and PATH, and BEFORE any other parameter that may (or may not be needed).
When working on command line this would IMHO help a lot, and it would be also (again IMHO) more intuitive
.
Wonko