









                 OOO  FFFFF FFFFF III CCCCC EEEEE
                O   O F     F      I  CC    E    
                O   O FFF   FFF    I  CC    EEE  
                O   O F     F      I  CC    E    
                 OOO  F     F     III CCCCC EEEEE

                         ''  NN    N  ''
                         ''  N N   N  ''
                         ''  N  N  N  ''
                             N   N N    
                             N    NN    

                   H   H   OOO   M   M  EEEEE
                   H   H  O   O  MM MM  E    
                   HHHHH  O   O  M M M  EEE  
                   H   H  O   O  M   M  E    
                   H   H   OOO   M   M  EEEEE

                           Version 1.0


                    A file synchronizing tool
                    for people who have a PC
                    at home AND at the office














            Program and documentation Copyright 1994
               by Michael Meron, Hamburg, Germany
                (CompuServe account# 100270,270)Foreword

I like PCs. I like them so much that I have one PC at the office
(the one I am earning my money with), and one at home (the one I
spend that money for). These two PCs are not yet connected (via
modems or whatever), so if I need to have certain data on both ma-
chines, I have to dance the "good old" diskette shuffle. But even
if I had a better link than that, one question would still remain:
Is there a way to start working on one machine, and continue work-
ing on the other one at any time still using the same data pool ?

Well, at least I have been careful to make that possible one day.
Every time I installed an application on both PCs, I used  the same
directory structure on each of them (i.e., same directory names,
same number of subdirectories, same names for those subdirectories,
and same file names). Of course, there are also plenty of applica-
tions on either machine which I do not want to have on the other
one. Anyway--for the apps that I DO use on both computers, I take
care to have consistent directory structures and files.

Sounds familiar ? If yes, read on. What I am going to introduce to
you is a utility tailored to keep the files on those PCs "synchro-
nized".  

                        Table of Contents


An Introduction to Office'n'Home. . . . . . . . . . . . . .   1

What is Office'n'Home, and what is necessary to run it? . .   2

Why is it Shareware?. . . . . . . . . . . . . . . . . . . .   3

How does Office'n'Home work ? . . . . . . . . . . . . . . .   4

Office'n'Home's Syntax: How to start the program and how to
     set its parameters . . . . . . . . . . . . . . . . . .   6

How to set up your Backup Software. . . . . . . . . . . . .  10

Three working batch file examples . . . . . . . . . . . . .  11

Synchronizing different drives. . . . . . . . . . . . . . .  13

A day in the life of Mr. Sampleuser . . . . . . . . . . . .  14

What if...? . . . . . . . . . . . . . . . . . . . . . . . .  17

A definition of Shareware . . . . . . . . . . . . . . . . .  19

How to register, and where to find help . . . . . . . . . .  20

Disclaimer. . . . . . . . . . . . . . . . . . . . . . . . .  20

Trademarks and Copyrights . . . . . . . . . . . . . . . . .  21

An Introduction to Office'n'Home

Office'n'Home is a program that is dedicated to everybody to wants
to keep the directories and files of two or more PCs synchronized. 

But what is "Synchronization"? As an informal definition, we will
say that two directories are synchronized if (and only if) they
have exactly the same entries. And two (or more) PCs are synchro-
nized if (and only if) all the directories that should be synchro-
nized are indeed synchronized. This makes it necessary for a
synchronizing program to make sure that...

a)   files that have been newly created on one PC must be created
     on the other PC, too;

b)   files that have been updated on one PC must be accordingly
     updated on the other PC;

c)   files that have been deleted on one PC must be removed from
     the other PC, too;

d)   files that have been renamed on one PC must be accordingly
     renamed on the other PC (automatically taking care of updates
     that eventually occurred after the rename operation).

My particular situation is that I have a 386 with one hard disk at
the office (being a node in the company's Token-Ring/Novell LAN),
and a stand-alone 486 with two hard disks at home. On the office
PC, there are drive names from A: to Z:, two of them being of
special interest for me: First, the C: drive is the local drive,
where I am keeping the files I privately own (such as development
tools the company refused to buy for me). Second, the V: drive is
the part of the LAN server's very big hard disk where the files
reside that I must have access to. Given this, I must be able to
keep two things synchronized: Both PC's entire C: drives, and a
certain part of the office PC's V: drive against my home PC's D:
drive.

If your situation is principally similar, then Office'n'Home is one
for you, too. Of course, your individual configuration may look
very different. For example, there may be no LAN involved at all,
or you may want to have only certain directories synchronized, or
every directory except certain files (to keep your private
correspondence exclusively at home, for instance).

Most commercial backup utilities (such as Central Point Backup) are
able to partially give you synchronization; this partial approach
is normally called an "additive" or "incremental backup". Why is
this only a partial solution ? Well, from the postulates (a) to (d)
given above, you can instruct the utility to take care of (a) and
(b) for you, but not of (c). In the case of (d), things get even
more confusing as follows: Imagine you have a document file named
DRAFT.DOC on both PCs. Today, while you're working at the office,
you give it the "final touch", and make up your mind to rename it
to FINAL.DOC. Before you go home, you do an incremental backup to
diskette, and once arrived at home, you do a restore. 
Oops! Now you have two documents at home (DRAFT.DOC has never been
deleted there, and FINAL.DOC has just been restored), while you
have only one at the office. Even worse: in case you had not yet
saved DRAFT.DOC on your home PC, then you will bring it back to
your office PC with your next incremental bakup. Voila, there it
will be again, grinning at you: "You did not really think you can
get rid of me, did you!?"

You bet this imagination was something I disliked. So this is,
finally, why I wrote oah: I needed it myself. And as I'm writing
this, I have been using it for more than a year.


What is Office'n'Home, and what is necessary to run it?

Office'n'Home is a DOS program that works in conjunction with a
backup utility of choice, and makes full file synchronization of
two PC's hard disks (or parts thereof) possible.

Office'n'Home has been tested to be compatible with MS-DOS 3.3,
5.0, and 6.0, and with Novell Netware 3.11. However, since
Office'n'Home accesses only very few basic DOS services (and only
well-documented ones), I am as confident as one can be that it runs
on other DOS or Network OS "flavors".

Be alarmed, however, to NEVER RUN Office'n'Home FROM WITHIN A
MULTITASKING ENVIRONMENT, such as Windows, DesqView, or OS/2! This
has nothing to do with Office'n'Home itself, but rather with the
way these environments are working. They all need "temporary
files", and in case one of those is accidentally deleted, unpre-
dictable things may happen. So if you're a Windows user, run it
before you start Windows, or afterwards. More about the do's and
dont's will follow later, in more detail.

As already mentioned, you need a backup program that is able to
save only those files whose "Archive Bit" is set (these are files
that are either new, or have been changed recently; you will find
more literature about the "Archive Bit" in your DOS manual). This
is no restriction, however, because since you have DOS, you also
already have a very well-suited (and well-documented) backup
"program": the XCOPY command! Please take the time now to browse
your DOS manual for the XCOPY command with the /A or /M parameter;
I will later assume that you know it.

Of course, any commercially available, dedicated backup program
(such as PC Backup, the Norton Backup, or Fastback, to name a few)
will do at least as well as XCOPY. In case you have the choice
between both a DOS and a Windows version of your backup program, I
recommend using the DOS version. A DOS program avoids having to run
Windows only for backup or restore purposes. But of course, both
"flavors" will do just as well.

Since Office'n'Home can delete files (to serve the list items (c)
and (d) in the introduction), I very strongly recommend you to have
a good un-delete utility installed, such as DATAMON with Delete
Sentry from the PC Tools. This is, of course, far more a general
recommendation for your everyday work, than a precaution due to
oah.

You should also have a good working knowledge of DOS. If you know,
for example, how to copy or delete a file or directory, then you
will feel comfortable with Office'n'Home. Of course, you should
also know your backup utility, at least good enough to know how to
create or restore incremental bakups. In the following text, I
will give you tips related to Central Point Backup V8 for DOS, but
I think you will be able to easily apply them to the program you're
actually using.

One last condition for using oah: You can place it, and run it
from, any directory on any drive you like AS LONG AS it is possible
for Office'n'Home to delete and re-create itself. This means that
if you chose a directory on a network drive, you must have "access,
read, delete, create, and write rights" for at least the file
OFCNHOM.EXE. But before you even start to worry if you have these
rights or not: better don't run Office'n'Home from a network drive!
On my office PC, I always run it from the local hard disk, from
where it can easily scan the network drives. It is also possible to
run it from a diskette, if everything else fails.


Why is it Shareware?

It may be unusual to have an excurse about Shareware at the
relative beginning of a documentation, but I felt that you ought to
know as soon as possible how to use Office'n'Home "officially". I
am trying hard to make both the program and its documentation as
usable as possible, and I just thought that if I am fair to you,
you will be fair to me. Okay - here goes:

This version of Office'n'Home is NOT public domain or free
software, but is "Shareware" (I'll assume here that you have at
least an informal understanding of what Shareware is. You can find
an exact definition at the end of this documentation). You may try
Office'n'Home out to see if it is useful for you. If you use it,
you must register and pay for one license per two CPU's (i.e., your
home and office PCs).

With the license,you will receive a version of the program that
does not any more show the Shareware info on-screen. More info
about how and where to license can be found at the end of this
documentation.

The program (in the form of the original archived file only) may be
freely distributed, but not sold (except under license;  more info
individually upon request).  

Non-registered users of this software are granted a limited 14 day
license to make an evaluation copy for trial use for the purpose of
determining whether Office'n'Home is suitable for their needs. At
the end of this trial period, you should either register your copy,
or discontinue using Office'n'Home. 


How does Office'n'Home work ?

Office'n'Home works in two "passes". The first pass scans the hard
disk(s) of the PC it is currently running on for files that do not
exist on the other PC (i.e., when it is running on the home PC, it
searches files not existing on the office PC, and vice versa). It
does not touch entire directories that do not exist on the other
PC, even if you allowed it to. But once there is a directory that
does exist on both PCs under the same name, Office'n'Home will
"have a closer look" at that directory's contents.

When it finds a file that does not exist on the other PC,
Office'n'Home prompts you whether this file should be deleted or
not. NEVER will it delete anything without your explicit allowance
to do so. From my own experience with oah, I have found that this
confirmation is so important that I have removed a former "don't
ask, just kill" option from the program, and nobody will ever
convince me to re-install it!

Now there are two possibilities: You may either agree with the
deletion (in case the file is undeletable, Office'n'Home will
notify you), or you may prefer to leave it alone, and Office'n'Home
will offer you to mark this file as "updated". Why updated ? Well,
for synchronization's sake. Remember: We want to be sure that the
directories we want to synchronize ARE INDEED synchronized, which
means that there have to be exactly the same file names! Not a
single one more, not a single one less. So if you refuse to delete
a file that does not exist on the other PC, then you are bringing
the two PCs out of synchronization! To compensate for that,
Office'n'Home wants to make sure that this file will be included in
your next incremental bakup (all updated files will), and every-
thing will be in order again.

By the way--you have certainly realized that in the former para-
graph I was saying "the same file names"; this is not necessarily
the same as "the same files". An example: Assume you have told
Office'n'Home to synchronize both PC's C: drives. You have a file
C:\TXT\A.TXT on the office PC, which is 6 bytes long and contains
the text "Banana". You also have a file C:\TXT\A.TXT on your home
PC, but this one is three bytes long and contains "JAM". Assume
further that there are no other files in that directory on either
PC. Question: Would Office'n'Home consider these directories
synchronized? Answer: Yes ! Everything else could be fatal. Fatal ?
Well, I leave it to you to see that. Tip: Just think of each PC's
CONFIG.SYS...

Pass 1 (synchronization) will not take place the very first time
you are running oah, because it is not yet known which files are on
the other PC, and which are not. You will be notified accordingly.

Pass 2 is a read-only pass. The drives and directories on this PC
are scanned for file names (except drives, directories or files you
have told Office'n'Home to skip); these names become stored in
OFCNHOM.EXE itself. Office'n'Home manages this by filling itself
with file names in RAM, then copying itself to a temporary file,
then deleting itself from disk, and finally renaming the temporary
file to OFCNHOM.EXE.

DOS gurus call this behavior "self-patching" and most of them don't
consider it good manner (to which I generally agree). However, this
program does not "patch" its code (it does not change the way it
works). Instead, it just fills a dedicated data area in its body.
This has two big advantages over a separate data file. First, the
program needs nothing besides itself. Second, DOS will automatical-
ly mark it as "updated" by setting the Archive Bit, so your backup
program will include it with the next incremental backup. Self-
modifying has the two disadvantages, however, that Office'n'Home
cannot be run from a read-only device, and in case you are using an
anti-virus utility, you have to tell it that changes in OFCNHOM.EXE
are nothing to worry about.

While pass 2 will be performed immediately after pass 1 by default,
this does not have to be so. You can instruct Office'n'Home to run
only one pass of choice at a time. For example, it is a good idea
to have two batch files, like these:

-    One batch file (say, FIRST.BAT) gets started every morning to
     synchronize this PC with the other PC. It does so by first
     running CP Backup to restore all files that have been added or
     updated on the other PC, and then running pass 1 of Office'n'-
     Home to take care for the deleted and renamed files.

-    The second batch file (say, LAST.BAT) is being run in the
     afternoon, just before you switch off the machine, to prepare
     for the synchronization of the other PC. This batch file first
     runs pass 2 of oah, and then starts CP Backup to do an incre-
     mental backup. This diskette will be read by the other PC's
     FIRST.BAT, and so forth.

I will give you examples of how FIRST.BAT and LAST.BAT may look
like in one of the following chapters.

Now that you have a good idea of what Office'n'Home is good for,
and how it works, let's have a look at how the program is actually
being called and the options available.


Office'n'Home's Syntax: How to start the program and how
to set its parameters

Let us start with an example. For this example, we will assume that
Office'n'Home is installed in directory C:\UTI (of course, any
other location is just as fine, as long as you have the privileges
to write and to delete files in that directory. Please revert to
the previous chapters for an explanation why this is necessary).


As I have already explained, you should be at a "plain vanilla" DOS
prompt to start oah; be careful NOT to call it when Windows, OS/2,
or any other multitasking environment is running!

The directory where OFCNHOM.EXE is located must be the current
directory, or the DOS PATH must point to it, or you must call it
using a fully qualified name (if you don't know what a "fully
qualified name" is, or what the PATH is, you ought to read the
appropriate chapters in your DOS manual first).

Now have a look at the following line (but DO NOT yet press any
key, please!):

        C:\UTI\OFCNHOM.EXE c: d:\wpwin*\*.* /x *.pvt /n1

I think you have already correctly guessed what this means, but
let's have a closer look at all the components anyway:

C:\UTI\OFCNHOM.EXE  This is the program name. In this instance, we
                    are giving DOS the fully qualified name. Of
                    course, this would not be necessary if C:\UTI
                    were our current directory or if C:\UTI were
                    included in the PATH.

c:                  This is the first "parameter" we're handing
                    over to oah. It tells the program that we want
                    it to include all files on the C: drive, in
                    all directories and sub-directories.

d:\wpwin*\*.*       The second parameter tells Office'n'Home that
                    we want to include all files from drive D:,
                    from all directories whose names begin with
                    WPWIN, and their subdirectories. As you see,
                    Office'n'Home allows for wildcards in directo-
                    ry names (and by the way, in drive names,
                    too).

/x                  The third parameter starts with a forward
                    slash, so it is called a "switch". The X
                    switch tells Office'n'Home that the list of
                    files to be included has ended, and that the
                    list of files to be eXcluded follows.

*.pvt               The fourth parameter, *.PVT, tells
                    Office'n'Home to not process files whose
                    extension is PVT, wherever they may be locat-
                    ed.

/n1                 The fifth and last parameter is yet another
                    switch. It stands for "No pass 1", and means -
                    -you guessed it-- that pass number 1 (the
                    synchronization pass) must not be performed.
                    For an explanation of pass 1 and pass 2,
                    please revert to the previous chapter.

Got the idea already ? Fine. Just a few more remarks before we will
construct one more example:

-    As is true for most DOS utilities, Office'n'Home is not case
     sensitive. For example, it does not matter if you specify the
     X switch as /x or /X. However, it IS important that you use
     the forward slash to announce it; a minus sign (-) will not
     work.

-    Be sure to leave at least one space between any two adjacent
     parameters.

-    As has already been mentioned, wildcards (? and *, as usual in
     DOS) are okay in drive letters, directory names, file names,
     and file extensions. For each of these, the default value is
     "*". For example, MYFILE*.* is interpreted as ?:*\MYFILE.*,
     meaning "Have a look at every drive from A: to Z:, and at
     every directory and subdirectory you may find, and process any
     file whose name starts with MYFILE."

-    Office'n'Home uses a "smart scan" algorithm when looking at
     drives and directories. This means that it will not touch a
     drive or directory if it were useless to search something of
     interest there. In the example discussed above, Office'n'Home
     would not read another drive besides C: and D:.

-    If you exclude a directory (for example, D:\TMP), you automat-
     ically also exclude all its subdirectories (D:\TMP\SUB1,
     D:\TMP\SUB1\SUB11, D:\TMP\SUB2,...). When you include a direc-
     tory (for example, D:\OKAY), you do NOT automatically include
     its subdirectories. You have to explicitly allow subdirectory
     inclusion with proper wildcard usage (D:\OKAY\*).

All right. Now let us construct an example. Imagine you wanted to
synchronize all spreadsheet (*.WKS) and all document (*.DOC) files
found on any drive except the diskette drives. My suggestion is the
following (your solution may be different):

                  OFCNHOM *.wks *.doc /x a: b:

Straightforward so far, isn't it? But wait--why didn't we have to
exclude the A: and B: drives in the former example ? Well, due to
oah's "smart scan", this was not necessary, because all the files
of interest had to be on either the C:, or the D: drive (there was
no other possibility). But in the latter example, the explicit
exclusion is very well necessary (and I think the reason is plain
to see).

Now let's finally consider the general syntax of oah:

     [full path]OFCNHOM {filename} [/x {filename}] [/n1]
          [/n2] [/?]

Something enclosed in square braces ([]) means that this parameter
is optional. As you can see, there is not a single mandatory
parameter for oah. If you call it with no parameter at all, it will
display a short help text and terminate. Do not type the square
braces themselves.

Something enclosed in curly braces ({}) means that it may occur
zero to 16 times. In other words: both the include files list, and
the exclude files list may be empty, or contain up to 16 entries.
Do not type the curly braces themselves.

The switches /n1, /n2, and /x have already been introduced in the
previous chapter. The only parameter not yet mentioned (/?) was in-
cluded for DOS compatibility only; it will tell Office'n'Home to
display a short help text and terminate.

Be not afraid to give wrong input to oah. If you enter an invalid
parameter, Office'n'Home will behave as if the /? parameter was
given; in other words: It will display a help screen and terminate.
If, on the other hand, everything was syntactically correct, it
will display in detail what it is going to do, and it will ask you
to confirm this display.

But what will Office'n'Home prompt you once it thinks it has found
a file to delete ? Look at this:

     C:\WPDOS60\DOCS
          OLDFILE.DOC <-- this file is...
               Normal (...)
          Delete it ? (y=yes, else no):

The first and second lines give us the full path name, so we know
exactly which file Office'n'Home means. Next, Office'n'Home can
display one or more of the following (where the actual wording may
vary from version to version):

     Normal (neither changed, nor ready-only, etc.):
          This file has not recently been changed, nor is it a new
          one. This is the normal case, under which it is pretty
          safe to let Office'n'Home delete it.

     Updated or changed
          This will be prompted if Office'n'Home finds the Archive
          Bit set. It is up to you to decide if you need this file
          any longer, or not. However, this should not be too much
          of a problem for you, because if you refuse to delete it,
          it will automatically be included in your next incremen-
          tal backup.

     Hidden
          This is a file of whose existence you might not have been
          aware at all. If you should delete it or not depends very
          much of the application that created it, and please
          understand that it is impossible for me to suggest what
          to do. As a rule of thumb, you should NOT delete a hidden
          file IF it is also a read-only and/or system file (see
          below).

     Read-Only
          This is a file that was flagged by an application to be
          undeletable. Office'n'Home can, however, delete it
          anyway, if you allow it to. Please see above under "Hid-
          den" for my suggestions.

     System
          This file is one that is of great importance for DOS. I
          strongly recommend you to NOT delete it. I further recom-
          mend you NOT to let Office'n'Home flag this file  as
          "changed", since transferring this file can be harmful to
          the other PC. Of course, if you are sure that it IS safe
          to delete a certain system file, Office'n'Home is able to
          do that for you.

     Younger than OFCNHOM.EXE
          Well, this is a case that simply cannot happen if you're
          using Office'n'Home regularly and correctly on both PCs.
          However, me and you are only humans, and we can forget to
          do something from time to time. When Office'n'Home
          displays this message, it has found a file that was
          created AFTER OFCNHOM.EXE. In other words: your current
          copy of OFCNHOM.EXE is not up-to-date, because for exam-
          ple, you remembered to restore it to this PC, but you
          forgot to run it in time. However, if you are sure you
          don't need this file any longer, it is safe to delete it,
          since a new copy of OFCNHOM.EXE will be prepared prior to
          your next incremental backup.

While we're talking about prompts--look at these:

     D:\PRIVATE <-- Found on this PC only. Skipped.
     D:\PRIVATE\CORR <-- On this PC only. Skipped.
     D:\PRIVATE\FINANCE <-- On this PC only. Skipped.

Do you remember that I've told you (in the chapter "How
Office'n'Home works") that Office'n'Home will touch ONLY directo-
ries that exist on BOTH PC's ? Well, here's the proof. While
considering the directories on this PC's D: drive, Office'n'Home
has found the directory D:\PRIVATE, which does not exist on the
other PC. Consequently, it was skipped, and its two subdirectories
CORR and FINANCE were skipped, too.
One could argue here that it would be sufficient to tell the user
that D:\PRIVATE was skipped, because this automatically means that
all subdirectories were skipped as well. But from experience with
the program, I find "redundant" information like this quite
useful ! It gives me a clue that I might have removed an entire
subdirectory on the other PC, and remembers me to remove it on this
PC, too.

Depending on whether Office'n'Home was able to complete its job
normally or not (because you cancelled it by pressing ESC, for
example), it will set the DOS ERRORLEVEL value accordingly upon
exit. In case you're running Office'n'Home from a batch file, you
can use the DOS command IF ERRORLEVEL to react accordingly. The
error levels currently defined are:

     0 (Number zero): Normal execution. No problem to report.

     1 (Number one): Office'n'Home did either not start at all (due
     to the /? parameter, which only displays a help screen, for
     example), or it was cancelled due to a user interrupt (ESC key
     pressed) or some non-fatal error condition (undefined parame-
     ter, etc.).

     2 (number two): Office'n'Home experienced severe problems with
     the operation system and quit immediately to prevent your disk
     from irrecoverable data loss.

Remember that under DOS, any errorlevel n includes all lower
errorlevels (n-1), (n-2) etc., so you must test higher levels
first. Look at this sample batch file excerpt:

     OFCNHOM (any parameters)
     IF ERRORLEVEL 2 GOTO problem
     IF ERRORLEVEL 1 GOTO halted
     REM ERRORLEVEL 0 is true. Everything's fine.

All right. you are now allowed and encouraged to experiment a
little with Office'n'Home (you did NOT try to do that any earlier,
did you!?).


How to set up your Backup Software

As already mentioned, Office'n'Home works closely together with
your backup software. The former takes care of the files deleted or
renamed, while the latter has to handle the files updated or creat-
ed. Now that it is clear how to use oah, we will consider what has
to be taken care of for the backup program.

The following examples and suggestions refer to Central Point
Backup V8 for DOS ("CPB") in Advanced Mode (assuming that you are
an advanced user). In case you have another backup software, it
should be easy for you to apply everything accordingly.

Start CPB as you normally would. Make sure the backup method is set
to "separate incremental", because we want the program to save only
changed or freshly created files, and we want it to do that
independent of any previous full backup.

Turn "Overwrite Warning" on. We will not need it for backup
purposes, but it is very important during a restore (because we
MUST NOT overwrite any file that already exists on this computer
UNLESS the backed up file is newer).

If you do not want to save all changes from all drives and
directories, specify which ones to include under Options |
Selection options | Include/Exclude files. I recommend you to
include/exclude the same files in both CPB and oah.

All other backup/restore options (for example, "Save history") are
not of interest in this context, and you can leave them as they
are, or change them at will.

Write this new CPB setup to a setup file named OFCNHOM. Give it a
meaningful description, and accept CPB's defaults for everything
else on the Save As screen. That's all!


Three working batch file examples

Now that we have all the pieces, let's build the puzzle! You
certainly remember my suggestion to have a "morning" batch file
(FIRST.BAT), and an "afternoon" counterpart (LAST.BAT). You will
have to install these batch files on both computers. If you would
like to use them, you need not type them in, since they have been
part of your download.

The following is FIRST.BAT:

CLS
ECHO OFF
ECHO Restoring all files that have been updated or created 
ECHO on the other computer...
ECHO When Backup asks you if it should overwrite a file, 
ECHO remember to reply with
ECHO "overwrite with (N)ewer file only", and 
ECHO "(R)epeat for all later files"!
PAUSE
REM  Switch to the directory where CPBACKUP is found, and run it
C:
CD \CPB
CPBACKUP
ECHO Now synchronizing this computer with the other one...
REM  Switch to the directory where Office'n'Home is found, 
REM  and run it (pass 1 only)
C:
CD \UTILS
OFCNHOM c: d:\work /n1
IF ERRORLEVEL 1 goto syncerr
ECHO Finished. Remember to call LAST.BAT 
ECHO before switching off the machine!
GOTO done
:syncerr
ECHO WARNING: Office'n'Home did not terminate successfully, 
ECHO PCs may not be synchronized
:done


The following is LAST.BAT:

CLS
ECHO OFF
ECHO Now searching for drive, directory, and file names...
REM  Switch to the directory where Office'n'Home is found, 
REM  and run it (pass 2 only)
C:
CD \UTILS
OFCNHOM c: d:\work /n2
REM  Pass 2 only, expecting normal execution.
REM
ECHO Preparing to save all updated and/or created files.
ECHO Have enough diskettes handy. Select File|Load Setup|
ECHO load OFCNHOM at first.
ECHO Then choose Start Backup. When finished, exit the program.
PAUSE
REM  Switch to the directory where CPBACKUP is found, and run it
C:
CD \CPB
CPBACKUP
ECHO Finished. You may now switch off this machine.
ECHO Remember to run FIRST.BAT on the other computer 
ECHO after start-up!


Finally, here is a third batch file, SYNCPCS.BAT. It is the one
that I have been using for about a year to synchronize my PC's
entire C: drives. It combines the functionality of FIRST.BAT and
LAST.BAT, depending on the replies you're giving to its prompts.
The prompting is done using MS-DOS 6's CHOICE command (please have
a look at your DOS manual for an explanation), but in case you do
not have DOS 6, any other similar tool will do just as well.

This batch file also introduces my way to keep a copy of each PC's
CONFIG.SYS and AUTOEXEC.BAT files on ALL machines, yet avoiding to
accidentally overwrite or delete either one. There is a command
"SET PC=nnn" in each PC's AUTOEXEC, which assigns a unique "PC ID
number" on start-up. For example, on my home PC, this line reads
"SET PC=001", while on my office PC, it reads "SET PC=002". This
makes it easy for my batch files to decide which PC (i.e., which
environment) they're actually running on.

The following is SYNCPCS.BAT:

@echo off
cls
echo Synchronizing PCs...
REM  Ask the user if we need to run oah's pass 2
REM  (the following is ONE LINE in the batch file!)
c:\dos\choice  /c:yn /t:y,10 /n "Are you going to do a backup ?
               [Y,n]: "
if errorlevel 2 goto runpcb
c:\uti\ofcnhom /n1 c:*.*

:runpcb
REM  Make sure a copy of CONFIG and AUTOEXEC will be saved...
copy c:\config.sys c:\config.%pc%>nul
copy c:\autoexec.bat c:\autoexec.%pc%>nul
REM  ...but not the actual files, to avoid overwriting the other
     PC's configuration.
REM  (Setting off the "Archive" bits will tell CPB that these
     files have NOT changed.)
c:\dos\attrib -a c:\config.sys
c:\dos\attrib -a c:\autoexec.bat
REM  Now run PC Backup (the /PS2 param only resets the mouse):
cpbackup /ps2

:sync
REM  The following is ONE LINE in the batch file!
c:\dos\choice  /c:yn /t:y,10 /n "Did you restore anything ?
               [Y,n]: "
if errorlevel 2 goto exit
REM  User did a restore - Now run oah's pass 1:
c:\uti\ofcnhom /n2 c:*.*

:done

As you see, I trust so much in both CP Backup and oah, that I am
NOT testing for ERRORLEVELs. I recommend very much to you not to be
as lazy as I am, and to add the proper IFs yourself. And again,
knowing that I am repeating myself: For heaven's sake, have a good
UNDELETE utility installed (such as Delete Sentry) at all times and
on all PCs!! This will make your life as a PC user much safer,
regardless of whether you're using Office'n'Home or not.


Synchronizing different drives

So far, I have only explained you how to synchronize directories on
equally named drives (for example, C:\BAT on the home PC against
C:\BAT on the office PC or vice versa). While this is what I am
actually doing most of the time, there are situations where it is
impossible to grant that all drives exist on all PCs. For example, 
I sometimes want to synchronize my home PC's D: drive (which is the
second hard disk drive) against the \INATIAM directory on my office
PC's V: drive (which is in reality my part of the LAN Server's
disk. Oh, and INATIAM stands for: It's not a trick, it's a Merony.
Blush.)

No problem. Office'n'Home supports both the DOS SUBST command, and
the Novell Netware MAP utility. In the following text, I'll assume
that you are familiar with the SUBST command; if not, please refer
to your DOS manual now and do some experiments with SUBST, until
you feel comfortable with it. In case a Novell network is involved
at your site, too, then you must also have an understanding of (and
access to) MAP.EXE. Sorry, I do not know any other network
operating system besides Novell, but I am sure that whichever
network you may use, there sure exists something that lets you
assign a local drive letter to a networked directory.

We are going to use a "buffer" drive for our purpose. First, we
must find a "local" drive letter which is not in use on any PC. I
am using K: for this purpose, and I will use it for the following
examples, but of course any other unused letter will do just as
well. Do not forget to have a look at both PC's CONFIG.SYS files,
to verify that LASTDRIVE makes that letter available (your DOS
manual will tell you more about LASTDRIVE if necessary).

The rest is obvious. While I do not have to take care for the C:
drives (because C: exists on both PCs), I have to remap V:\INATIAM
to K: before running SYNC.BAT on the office PC, like this:

MAP K:=V:\INATIAM

Or, if I were working on my home PC, I had to do issue a

                           SUBST K: D:

Of course, it is a good idea to include commands like these in the
respective AUTOEXECs. If you prefer not to establish permanent
drive mappings, it is okay to use them only temporarily for
synchronizing purposes; but then again, remember to un-do them once
you don't need them any longer:

                           MAP DEL K:  ,or
                           SUBST K: /D ,respectively.


A day in the life of Mr. Sampleuser

I will now demonstrate how synchronizing two PCs actually works.
Let's watch the files that are residing in the C:\WPWIN\DOCS
directory of Mr. Whatheheck I.S. Sampleuser's home and office PCs.
This is of course not the only directory that he wants to synchro-
nize. Alas, it is the only one he would let us have a look at, and
that's sufficient for this chapter's purposes anyway.

On February 2 (who says everything must start on January 1 ?), the
documents on both PCs are perfectly synchronized:

     Home               Office
     DRAFT.DOC          DRAFT.DOC
     IOM.DOC            IOM.DOC
     PHONES.LST         PHONES.LST

It's 7am, and Mr. Sampleuser starts working at the office. First,
he adds a new phone number to his phone list (PHONES.LST). At 9am,
his boss drops in to give him the official okay for the new project
schedules (DRAFT.DOC). Accordingly, Mr. Sampleuser renames
DRAFT.DOC to SCHED1.DOC and prints the copies needed by the
respective departments. At 10am, he writes, sends, and saves a fax
under the name REQUEST.FAX. 

Now the situation looks like this:

     Home               Office
     DRAFT.DOC          SCHED1.DOC (A)
     IOM.DOC            IOM.DOC
     PHONES.LST         PHONES.LST (A)
                        REQUEST.FAX (A)

...where (A) marks files that have changed, or have been created,
since the most recent incremental backup.

Mr. Sampleuser has a half day off, so at 12am, he exits Windows (he
can afford using Windows because his work is not time critical),
and runs LAST.BAT (see the "Sample Batch files" chapter for an
introduction of FIRST.BAT and LAST.BAT).

What happens first, is that Office'n'Home stores the four names
listed above, marking itself as "changed" immediately afterwards.
Next, PC Backup does an incremental backup, which includes all
changed files from all directories that Mr. Sampleuser wants to
synchronize. This means that from out sample directory, 
SCHED1.DOC, PHONES.LST, and REQUEST.FAX are getting stored on
diskette. And most important: Since Mr. Sampleuser took care to
include his utilities directory in the backup, OFCNHOM.EXE is being
saved, too.

Okay. Mr. Sampleuser is a quite normal PC user. Once arrived at
home, he gives a short kiss to his wife and children, and storms
into the cellar to fire up his private PC. After boot-up has
completed, he inserts the diskette he prepared at the office, and
starts FIRST.BAT.

The first thing FIRST.BAT does is to call PC Backup to restore all
files from diskette. Of course, Mr. Sampleuser is careful to
overwrite files ONLY if the copy on diskette is newer. Let's take
a snapshot here:

     Home               Office
     DRAFT.DOC          SCHED1.DOC
     IOM.DOC            IOM.DOC
     PHONES.LST (A)     PHONES.LST
     REQUEST.FAX (A)    REQUEST.FAX
     SCHED1.DOC (A)

Note that on the office PC, the (A)'s have disappeared. This proves
that a backup had taken place. 

Now Office'n'Home gets into play. Almost instantly, it displays the
following prompt:

     C:\WPWIN\DOCS
          DRAFT.DOC <-- This file is...
               Normal (...)
          Delete it ? (y=yes, else no):

Mr. Sampleuser replies "y" to get rid of this file, and voila, both
PCs are synchronized again. He jots down some marvelous ideas for
tomorrow's work into a file IDEAS.DOC, and remembers to run
LAST.BAT before switching off the machine. Snapshot:

     Home               Office
     SCHED1.DOC (A)     SCHED1.DOC
     IOM.DOC            IOM.DOC
     PHONES.LST (A)     PHONES.LST
     REQUEST.FAX (A)    REQUEST.FAX
     IDEAS.DOC (A)

This time, you should be able to tell which files will be saved to
diskette, and scanned into OFCNHOM.EXE, so I won't bother you be
repeating all that stuff.

Can we gues what tomorrow's FIRST.BAT on the office PC will do ?
Sure we can. First, it will restore all files that are newer on
diskette than on disk. In other words, only IDEAS.DOC will be
restored. Second, Office'n'Home will find nothing to delete (at
least not in this directory). So we can already predict tomorrow's
documents:

     Home               Office
     SCHED1.DOC         SCHED1.DOC
     IOM.DOC            IOM.DOC
     PHONES.LST         PHONES.LST
     REQUEST.FAX        REQUEST.FAX
     IDEAS.DOC          IDEAS.DOC (A)

And Mr. Sampleuser was happily synchronizing his files ever
after...


What if...?

Since this is the very first time I am releasing Office'n'Home to
the public, I have not yet received any questions and/or concerns.
But as far as I can consider it, these are the questions you are
most likely to ask  (and the respective answers, of course):


Q:   What if I had two or more consequtive sessions on PC #1 (I
     mean, I did not have the time to work on PC #2) ?

A:   No problem at all. From the view of PC #2, your many PC #1
     sessions look like one. Just prepare for synchronizing as soon
     as you're going to work on PC #2. In case you do not know in
     advance when you'll be working at PC#2, be prepared for it
     every day, but remember to use another set of backup diskettes
     each time. Once you are ready to begin on PC #2, restore all
     diskettes in chronological order, and run oah. That's all.


Q:   What if I started working on PC #1, having forgotten to first
     synchronize it with #2?

A:   Again: No problem! Simply run Office'n'Home now. Be careful
     with the files that Office'n'Home will flag as "newer than
     OFCNHOM.EXE". A general suggestion cannot be given, but if
     you're in doubt, better leave these files in place.


Q:   Sometimes Office'n'Home asks me if I want to delete a file
     from a directory which I did not include. How come ?

A:   First: You DID include that directory! Have a closer look at
     your Office'n'Home command line to convince yourself. Particu-
     larly, look at the wild cards...  Second: To get out of that
     directory for the moment, do not let Office'n'Home delete the
     file, and do not let it mark the file as updated. The program
     will then ask you if it should leave this directory alone.
     Answer "y" (yes).


Q:   What if I had accidentally allowed Office'n'Home to delete a
     file ?

A:   Don't panic! After all, you have followed my advice to have an
     UNDELETE utility installed, haven't you? Okay--write down the
     file's name as long as you still see it on the screen, and
     remember to undelete it as soon as possible. If you wish, you
     can now run Office'n'Home once again to mark this file as
     updated.

Q:   I am using another program than PC Backup for my backup
     purposes. Is that okay with Office'n'Home ?

A:   Sure it is. Even plain XCOPY (with the /A parameter) will do.
     Just be aware that your backup program will not be able to
     read the sample OFCNHOM.SET file (a PC Backup-specific
     configuration file), and you will have to change the sample
     batch files accordingly (FIRST.BAT and LAST.BAT).


Q:   I am not usually doing "incremental" backups to diskette.
     Instead, I use to make full or differential backups to tape.
     So what ?

A:   Again, absolutely no problem. I was only suggesting separate
     incremental backups for your convenience, because they usually
     take the least amount of time. Any kind of backup will do, as
     long as it will at least include all changed or created files
     from all directories that are scanned by Office'n'Home. And of
     course, OFCNHOM.EXE must also be backed up.


Q:   I have been running FIRST.BAT (or LAST.BAT), and it says that
     it cannot find CPBACKUP (or OFCNHOM.EXE). What's up ?

A:   Well, when you installed PC Backup (or oah, respectively), you
     had simply chosen another directory to hold the program than
     I had. It's just a matter of taste. All you have to do is to
     edit the batch file(s) to suit your directory names, and re-
     run it.


Q:   I was running LAST.BAT at the office, without problems. Howev-
     er, soon after it was finished, my boss came in and told me to
     write yet another report for him (TEXT5.DOC). After that, I
     know I could have simply re-run LAST.BAT (using another
     diskette), but I did not have the time to do that. Any
     comments ?

A:   Since you were not able to re-run PC Backup after you wrote
     that last report, it will not be restored to your home PC
     today (because it was not included in the backup). And since
     Office'n'Home did not yet know about TEXT5.DOC, it will
     synchronize your home PC to the office PC as it was at the
     point in time when you ran LAST.BAT. If you do not immediately
     need that report at home, don't worry; it will be automati-
     cally included the next time you run LAST.BAT on the office
     PC. If you DO need it, though, I am afraid you're out of luck,
     and you must be patient until tomorrow.


Q:   I have been running the sample batch file SYNCPCS.BAT, but I
     get the error message "bad command or file name". What's up ?

A:   First, SYNCPCS needs DOS 6, because it makes use of the new
     CHOICE command. Second, if you DO have DOS 6, remember that a
     sample is a sample. Your programs (such as PC Backup) may be
     stored in a different directory than I assumed when I wrote
     SYNCPCS:BAT. Simply edit the batch file to suit your individu-
     al file locations, then re-run it.


Q:   Are there any files which I should not let Office'n'Home
     delete under all circumstances ?

A:   I recommend to never delete DOS's system files (like IO.SYS,
     or IBMBIO.COM, repectively). Further, you should not delete
     AUTOEXEC.BAT, and CONFIG.SYS. It is very unlikely that
     Office'n'Home will ever ask you if it should delete one of
     those, though. There may be other files which you should leave
     alone, too, but that depends very much on what PC environment
     you're using (for example, it is not a good idea to delete
     Window's "permanent swap file"). As a rule of thumb, never
     delete a file if Office'n'Home tells you that it is a system
     file (you'd better consider why this file does not exist
     anymore on the other PC!).


Q:   Can I synchronize more than two PCs?

A:   Sure you can. Let's assume that you have, say, three PCs,
     named A, B, and C. All you have to do is to synchronize B with
     A first, C with B second, and A with C third. You don't even
     have to be concerned of all three PC's at all times. For
     example, just synchronize A and B every day, and C with A once
     a week. Everything will be fine! If it is not immediately
     clear to you why this works, I recommend you to jot down a
     scenario similar to "Mr. Sampleuser" on a scratch paper; this
     time not with 2, but with n machines.

(Q&A section to be continued - your ideas are requested!)


A definition of Shareware

I promised to give you an exact definition of "Shareware".
Hopefully, this will be exact enough for you:

Shareware  distribution  gives users  a  chance  to try  software 
before buying it.  If you  try a Shareware  program and  continue 
using it, you are  expected to register. Copyright laws  apply to 
both Shareware and  commercial software,and the copyright  holder 
retains  all rights,  with a  few specific  exceptions as  stated 
below. Shareware authors are accomplished programmers,  just like 
commercial authors,  and the programs are  of comparable quality. 
(In  both cases, there are good programs  and bad ones!) The main 
difference  is   in  the  method  of   distribution.  The  author 
specifically  grants  the  right  to  copy  and  distribute   the 
software, either to  all and sundry  or to a specific  group. For 
example,  some   authors  require  written  permission  before  a 
commercial disk vendor may copy their Shareware.

Shareware is a distribution  method, not a type of  software. You 
should find  software  that  suits  your  needs  and  pocketbook, 
whether it's commercial or Shareware. The Shareware system  makes 
fitting  your needs easier, because  you can try  before you buy. 
And because the overhead  is low, prices are low  also. Shareware 
has the ultimate  money-back guarantee  -- if you  don't use  the 
product, you don't pay for it.


How to register, and where to find help

A Office'n'Home registration licenses you to use the product on a 
regular basis. Individual registrations for Office'n'Home cost $10.
Volume discounts and/or site licenses are available upon request.

At the moment of this writing, I am distributing  exclusively
through CompuServe ("CIS"), so the only way to register is through
CIS. It is also currently the only way to get help.

Registering is easy. Just GO SWREG, and when asked which program to
register to, answer 123456. Thats all! A single regular registra-
tion fee of $10 will be automatically forewarded to me, and you
will be charged through your CIS-related credit card.

Getting help is also easy. Just drop me a note; I am "Michael Meron
100270,270". I will reply asap. (Oh yes, I know there are certain
guys who spew test messages, just to see if some CIS account is
really alive and kicking. All right, go ahead, I cannot stop you
either. But remember that you keep me away from responding to
serious mail!)


Disclaimer

I do everything to make sure that Office'n'Home (among others) is
well-behaved and does exactly what it is intended to do. However, 
users of Office'n'Home must accept  this disclaimer  of warranty: 

"Office'n'Home is supplied as is. The author disclaims all 
warranties, expressed or implied, including, without limitation,the 
warranties of merchantability and of fitness for any purpose.The 
author assumes no liability  for damages, direct or consequential,
which may result from the use of Office'n'Home."


Trademarks and Copyrights

Office'n'Home and OFCNHOM.EXE are trademarks of Michael Meron EDV-
Beratung, Hamburg, Germany. MS-DOS and Windows are registered 
trademarks of Microsoft Corporation. PC-DOS is a registered
trademark of IBM Corporation. PC Tools and PC Backup are registered
trademarks of Central Pint Software, Inc. The Norton Backup is a
registered trademark of Symantec Corp. Fastback is a registered
trademark of Fifth Generation Systems, Inc.

All other brand names are trademarks or registered trademarks of
their respective owners.