qFileSync v2.0

A File Synchronization And Backup Program
July 18, 2001

Table Of Contents:

Disclaimer

I do not claim that this software is reliable. I will accept no liability for data loss caused by the use of this program! And frankly, it would be foolish to attempt to sue me for liability since I am practically penniless.  I mean, I could not even pay for a lawyer to properly write the first two sentences for me (which, by the way, I intend to be legally binding) along with a whole nother page of gibberish to cover all the legal bases.

Revision History

There comes a time in every product's life cycle where the Second Major Release comes. Now it's FileSync's turn...

New in qFileSync v2.0 Build 65

New in qFileSync v2.0 Final

New in v2.0 Beta 3

New in v2.0:

New in v1.5:

New in v1.45:

New in v1.4:

Installing qFileSync

qFileSync does not need to be installed; it's ready to run as soon as you download it. Of course, if you want it to have a sense of being installed, you can move it to your C:\Program Files directory and place a shortcut to it on your desktop or start menu.

Basic Usage

Let's say you want to synchronize the contents of C:\WebPage and \\Primary\c\WebPage (\\Primary being the name of a networked computer.)

I do it all the time; those locations contain my web page.

Anyway, you just type in each of the folder names under Directories to synchronize and click Add each time. Alternately, you can

  • Click Browse... and click around to find the folder
  • Drag a folder from Explorer directly onto the list.

If you want the contents of sub-folders to be sync'd (the entire directory tree), make sure Recursive is checked. If you want qFileSync to be able to copy files that are found in one folder but not the other, choose Yes or Ask Me for Auto-Create files.

When you're satisfied that the settings are correct, click Quick Sync to perform the synchronization.

Beware! This program can be dangerous because there's no way to "undo" a synchronization. So, step one before you try using this program is to make sure that the system clock on all systems involved is correct, and file integrity is okay when you're syncronizing with a floppy.

More Features

Filters (wildcards)

Filters tell qFileSync what files to pay attention to and to ignore. If you're a seasoned DOS/Windows user you'll know how to use them already.

The extension part of the filename is matched separate from the name part; for example, if your spec is "*.htm*", and a file is called "hello. Have a nice day.html", then

Supported wildcard forms:

You can't put multiple stars in any other form: *a*b*c is invalid, and so is a*b*. Such forms will never match.

You can also use question marks. For instance, ????* forces the filename to be at least four characters long, and mp? will match mp2, mp3, and mpx but not mp22, mp, or mymp3.

FileSync behaves differently if your filespec is missing the dot (.) or if there is nothing on the left or right side of the dot.

You can separate multiple filters with semicolons; for example: *.txt;*.doc

There are four text boxes into which you can type filters:

Sync modes

Each folder has a synchronization mode. For the purposes of this section, assume you are to synchronize two directories, A and B. At least one of the folders must always be set to Sync with this path mode, so assume A is set up this way. If B is set to...

You can synchronize between three or more folders; this is just a logical extension of synchronizing two folders.

Auto-Create files

As mentioned previously, The "Auto-Create" option specifies what to do when a file exists in one directory but not the other. If "Yes", files from one folder will be created in the other folder automatically. If "No", updated files will only be copied if they already exist in both locations. If you choose "Ask Me", it will ask your permission before creating every nonexistant file.

Multiple Synchronization Sets

You can also synchronize more than one SET of folders. That is what the "Sync sets" menu is for. The first time you run the program, there is only one set, and it is called "Untitled". (You can rename this set to anything you want by clicking on the text box containing "Untitled", and typing in a new name.) The set name is for identification only and has no effect on program behavior.

Use multiple sets when you want to synchronize different sets of folders. For example, you might want to synchronize your documents, in the directories "C:\My Documents" and "A:\", and your CAD work, in "C:\CAD\Bill", "\\OtherComputer\Bill's CAD work", and "A:\CAD". To do this, you need to create two sets - one called, perhaps, "Documents" and the other "CAD Work Backup". Put the two document directories in the first list and the three CAD directories in the second list.

The sets you make need have nothing to do with each other, and can be synchronized separately. Also, you can have as many sets as you want, limited only by the scope of your workload :)

Simulated Synchronization

File > Simulated Synchronization will show you what the program would do were you to do a quick sync... without actually doing it.

Interactive Synchronization

File > Interactive Synchronization allows you to verify and change the program's actions before they are taken. When you choose this option, qFileSync will scan the folders as usual, deciding what should be done, and then will show the following dialog box:

When you select a file from the list on the left, the action(s) qFileSync was planning to take are shown on the right.

The filename, date and size of each file is shown, along with the action to be taken:

You can also rename each copy of the file by entering a new name in the Rename to box. Note: you cannot rename a file to something which conflicts with the name of another file, nor can you move the file to another directory. Advanced things like this should be done with a file manager like Explorer.

For example, you can't swap the names of A.txt and B.txt by trying to rename B.txt to A.txt and A.txt to B.txt. This is because qFileSync performs the operations serially and and error will occur when either of these files is reached when you click Continue Synchronizing.

Other things you can do in this dialog:

The letters/numbers that make up the modification type are as follows:

Click Continue Synchronizing to finish the job.

Exporting Sync Sets

Sorry, qFileSync does not have such a feature.  However, that's not to say you can't do it!

Since the Synchronization Sets are stored in the Windows Registry, you can use the RegEdit utility to export them to a file.  To do this, click Start, then Run... and paste the following command into the box that appears:

regedit.exe /e C:\qFileSync.reg "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\qFileSync"

A file called qFileSync.reg will appear in the root directory of your C: drive.  Copy this file to the machine you want to import to, then double-click on the file, at which point Windows should proceed ask your permission to import it into the registry.

Caveats:

  1. The original sync sets on the target machine will be replaced.
  2. The first caveat is incomplete.  If the target machine originally had many sync sets, only the first sets will be replaced. e.g. if you import 3 sets from one machine to a machine with 5 sets, the last two sets will remain.
  3. This is all theoretical, since I've never actually tried this.

Notes

Command-Line Interface

This program is written in Visual Basic, and as such, it requires Windows to run. Therefore, you can't put it in your AUTOEXEC.BAT. However, if you want a set of directories to be sync'd automatically when you start Windows, you can do that. Here's how:

Where it says "Target", append, in quotes, the name of the Sync Set. For example, if it said
C:\FileSync\FileSync.exe
then you might change it to:
C:\FileSync\FileSync.exe "Bill's secret documents"
Note: You must include the quote marks! Don't give your Sync Sets names with quotes in them!

You can list more than one set, for instance
C:\FileSync\FileSync.exe "Bill's monopoly" "Bill's DoJ sabotage files"

FileSync also supports a number of switches, which are not case sensitive, and can appear before or after the list of sync sets, or whatever - this program's command line parser is not stupid like some others I know.

The End.

I hope you find this program useful.

Regards,
David Piepgrass
QwertMan@hotmail.com
http://members.nbci.com/Qwertie

P.P.S. Thanks to Terry Meritt for the code for the "Browse..." button.

qFileSync and its documentation are copyright 2001 by David Piepgrass.