Click here to Skip to main content
11,479,096 members (62,194 online)
Click here to Skip to main content

Utility to backup your folders fast

, 31 Jul 2005 128.8K 1.7K 70
Rate this:
Please Sign up or sign in to vote.
I use a procedure based on batch files to copy various versions of my project. I was a bit fed up to wait for the batch file to copy hundreads of files and wrote this small utility to speed up the process. I hope some of you will find it useful.

Sample Image - sync.png

Introduction

This utility is designed to backup a folder to another folder. It is not rocket science and not that interesting in terms of coding. However it can be useful if you want to copy your source from a machine to another or to make a quick backup. It will run a lot faster than a batch file if you repeat the command regularly.

How does this work

The program is very simple, it will copy only the files that were modified since the previous copy. It will always copy the subfolders and never ask any question. Any file or folder deleted from the source folder will also be deleted in the destination folder.

How to install

Just have to copy sync.exe into your windows\system32 folder.

How to run?

Just type SYNC <source folder> <destination folder> in your DOS command prompt window or batch file.

WARNING

This program despite being very simple is potentially lethal. Used with bad parameters, you can probably manage to erase your hard disk in no time at all. Use it only at your own risks.

Points of interest

Nothing very interesting in this program, this is a DOS utility not a code exploit. For each folder in the source tree, the utility gets a list of files and folders to copy to the destination. To avoid multiple lookups, the list of files in the destination folder are read once as well into a hash table. The program uses the FileSystemInfo.LastWriteTimeUtc to compare the source and destination files. It then copies the new or modified files and deletes the files that were deleted since the last backup. Again be careful how you use this utility, the deletion does not ask any questions.

Revisions

  • 31st July 2005
    • First release.
  • 1st August 2005
    • Force the copy when the files are read-only.
    • Move to .NET framework 1 (was 2 so far).

Questions to readers

When I use the IO.File.Copy method, the FileSystemInfo.LastWriteTimeUtc is modified one or two seconds forward. Anyone knows how to make the date of last write to stay consistent from source to destination?

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

Pascal Ganaye
Software Developer (Senior)
United Kingdom United Kingdom
I am a French programmer.
These days I spend most of my time with the .NET framework, JavaScript and html.

Comments and Discussions

 
GeneralConverted the code to C# and changed the date comparison to SHA CheckSum Pin
kittell23-Apr-13 7:55
memberkittell23-Apr-13 7:55 
GeneralMicrosoft's SyncToy Pin
Jalapeno Bob9-Sep-10 12:54
memberJalapeno Bob9-Sep-10 12:54 
GeneralMy vote of 1 Pin
Yury300024-Aug-09 15:59
memberYury300024-Aug-09 15:59 
GeneralRe: My vote of 1 Pin
Pascal Ganaye15-Sep-11 3:16
memberPascal Ganaye15-Sep-11 3:16 
GeneralThanks! Pin
Tonny Vaes24-Aug-08 3:45
memberTonny Vaes24-Aug-08 3:45 
QuestionConverting to c# Pin
chrisclarke1122-Mar-08 4:07
memberchrisclarke1122-Mar-08 4:07 
Hi i'm new to the code project and new to programing. I havent done much in the way programming but am finding the code project a really useful place. Your project is very interset but i was looking to convert it to c# as a class when reading through the code there doesnt seem to be an equivilant to DirectCast. Any ideas. thanks
AnswerRe: Converting to c# Pin
Pascal Ganaye15-Sep-11 3:20
memberPascal Ganaye15-Sep-11 3:20 
Generalpeogram to copy to cd_we or usb Pin
syriast29-Jul-06 23:46
membersyriast29-Jul-06 23:46 
GeneralRe: peogram to copy to cd_we or usb Pin
Pascal Ganaye30-Jul-06 8:58
memberPascal Ganaye30-Jul-06 8:58 
GeneralRobocopy not so good Pin
Manuel JD Alves26-Feb-06 23:54
memberManuel JD Alves26-Feb-06 23:54 
GeneralRobocopy seems faster Pin
anadem5-Aug-05 15:15
sussanadem5-Aug-05 15:15 
GeneralRe: Robocopy seems faster Pin
pascal ganaye6-Aug-05 5:46
memberpascal ganaye6-Aug-05 5:46 
QuestionNice, but is this any better than &quot;robocopy&quot;? Pin
mikestrat3-Aug-05 4:10
membermikestrat3-Aug-05 4:10 
AnswerRe: Nice, but is this any better than &quot;robocopy&quot;? Pin
pric01123-Aug-05 9:48
memberpric01123-Aug-05 9:48 
GeneralRe: Nice, but is this any better than &quot;robocopy&quot;? Pin
TLWallace.NET10-Aug-05 10:16
memberTLWallace.NET10-Aug-05 10:16 
GeneralRe: Nice, but is this any better than &quot;robocopy&quot;? Pin
pric011210-Aug-05 11:15
memberpric011210-Aug-05 11:15 
GeneralRe: Nice, but is this any better than &quot;robocopy&quot;? Pin
cornejoserrano12-Sep-05 23:14
membercornejoserrano12-Sep-05 23:14 
GeneralRe: Nice, but is this any better than &quot;robocopy&quot;? Pin
raviaw23-Feb-06 10:40
memberraviaw23-Feb-06 10:40 
GeneralDestination issues with +/-RW media. Pin
Mike Whitenton2-Aug-05 22:56
memberMike Whitenton2-Aug-05 22:56 
QuestionAnyone understand this bug ? Pin
pascal ganaye1-Aug-05 2:09
memberpascal ganaye1-Aug-05 2:09 
AnswerRe: Anyone understand this bug ? Pin
umeca741-Aug-05 8:22
memberumeca741-Aug-05 8:22 
GeneralRe: Anyone understand this bug ? Pin
pascal ganaye1-Aug-05 8:46
memberpascal ganaye1-Aug-05 8:46 
GeneralRe: Anyone understand this bug ? Pin
John M. Drescher1-Aug-05 11:58
memberJohn M. Drescher1-Aug-05 11:58 
AnswerRe: Anyone understand this bug ? Pin
John M. Drescher1-Aug-05 8:34
memberJohn M. Drescher1-Aug-05 8:34 
Generala better way Pin
Ista31-Jul-05 20:28
memberIsta31-Jul-05 20:28 
GeneralRe: a better way Pin
pascal ganaye1-Aug-05 2:08
memberpascal ganaye1-Aug-05 2:08 
Generalxcopy Pin
chrisv31-Jul-05 17:17
memberchrisv31-Jul-05 17:17 
GeneralRe: xcopy Pin
R Tallent31-Jul-05 19:17
sussR Tallent31-Jul-05 19:17 
GeneralRe: xcopy Pin
pascal ganaye1-Aug-05 2:05
memberpascal ganaye1-Aug-05 2:05 
GeneralRe: xcopy Pin
Indivara1-Aug-05 21:42
memberIndivara1-Aug-05 21:42 
GeneralRe: xcopy Pin
pascal ganaye2-Aug-05 9:47
memberpascal ganaye2-Aug-05 9:47 
GeneralRe: xcopy Pin
Ashaman3-Aug-05 5:04
memberAshaman3-Aug-05 5:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150520.1 | Last Updated 31 Jul 2005
Article Copyright 2005 by Pascal Ganaye
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid