Download Latest Version SyncPath201305200704.zip (284.9 kB)
Email in envelope

Get an email when there's a new version of Sync-Path

Home
Name Modified Size InfoDownloads / Week
readme.txt 2013-05-20 5.0 kB
SyncPath201305200704.zip 2013-05-20 284.9 kB
SyncPath_executable.zip 2013-05-20 52.6 kB
Totals: 3 Items   342.5 kB 0
Fixed a bug this morning 5/20 and uploaded.

Latest version:

- Run commands before and after synchronizing a path.
- Reworked log screen
- Fixed bugs

Turn off database engine services so files are freed up before copying. Turn off iTunes syncserver so iTunes files are freed.

To use SyncPath download the zip file containg the executable, unzip, and place SyncPath.exe anywhere you want on the system. Double click SyncPath.exe and open to register the .syncp and .syncplog file types. SyncPath will also be registered for drives and folders when right-clicked in Windows Explorer. Invoke by right-clicking on a folder in Windows Explorer and choosing SyncPath from the context menu. You can also invoke by double-clicking on .syncp or .syncplog file types. If SyncPath is moved to a different location, double-click the exe and open again to update the new location in the registry. If on Windows 7 or 8, right-click and run as administrator to update the registry.

For Windows OS, synchronize a destination path from a source path, deleting extra files and folders at the destination, making date and attributes the same. Destination exactly matches the source.

- Security added or ownership changed when necessary
- Does not update if file size and date in destination already match
- Option to verify after writing
- Skips junction or link files
- Explorer integration for drives and folders
- Logging with retry capability and exclusions edit
- Multiple paths processed in one session
- Script files saved for repeated use, can also edit with notepad
- Environment variable substitution
- Volume name substitution
- Works very fast and reliably

The author declares the source code for this software to be “open source” with any derivatives, copying, or use of the source code to also be “open source” and by using the source code in any way you agree to that.

I wrote this program some years back because I needed to make a destination folder exactly match a source folder. Software found would try and merge folders or use a database. The Windows file system already is a database, a hierarchical one, and as a database works just as fast as any other. I use this for so  many things:

- Backing up important paths that change between full backups
- Backing up source code
- Backing up a complete drive
- Synchronizing paths to a flash drive

On each of my systems I always clone Windows to a second partition on the same drive. When done immediately after installation the size of Windows is small. Steps can be provided to do this if anyone is interested. What this does is free up files in the main partition for backup or restore without having them locked by open processes. Select the alternate operating system from the boot menu and do whatever required. For most of my machines I have a dedicated backup path on the LAN and map a drive letter to that path. This allows destination path names to exactly match source except for the drive letter, avoiding the problem of occasional file names with path exceeding the 260 character limit. The entire disk including Windows can be easily restored. A new drive can be formatted then restored. When infected with a virus, restore! I thought about rewriting the software using APIs to avoid the long file name problem, but mapping a drive letter works well enough.

For interim backups the path for full backups should not be used and files at that path should be kept unchanged. Space needed for a second interim path isn't much. A script can be made to back up the entire Windows user folder, ProgramData folder, and any other folders that might change. When the script is run the first time several files will be locked. Individual files or folders can then be excluded from the log produced, causing them to be skipped next time. Be sure to run the program as administrator so security and ownership of files can be changed as necessary. With Windows 8, having administrator privileges is not good enough. You must be the administrator, but there is a registry change to completely disable UAC and allow administrator privileges to work.

At work I use this program all the time and depend on it greatly. I support many web applications in different languages. There's a development folder for an application, a UAT folder, and a production folder. I have scripts to synchronize these whichever way I want. I may need to copy large database files or folders and prefer using my SyncPath program when possible for reliability and verification.

A couple of things I plan to add are shell script sections to execute at the beginning and end of a session, and automated drive mapping. The shell script sections would do such things as turn off a database engine before starting, then turn it back on again when done. Automated drive mapping will eliminate the need for an associated bat or cmd file to run first. I also plan to add help screens.
Source: readme.txt, updated 2013-05-20