This program is easy to use. Follow these steps:
- Download the jar file under downloads.
- Open a console/terminal/command-line
- Change to the directory to which the file was downloaded
- Ensure that Java is installed in the computer (type "java" at the terminal) or use a Portable version of Java (was tested successfully with the version that comes with PortableApps.com)
- In the terminal, type "java -jar binarycopy.jar -h" and press ENTER. The help for the program should show up.
- You must have read permissions on the directories/files you want to copy and read/write permissions on the directory for which you want to copy them. If you don't the program will let you know.

The program was tested under Windows 7 but should work just as well under any OS that supports Java.

Quick usage examples:

1 - copy contents of directory A to B without checking if files where correctly copied (this is the fastest method of copy but lest safe)

java -jar binarycopy.jar -nc i=A o=B

2 - copy directory \A\C (not the contents) to B with verification and create SHA-1 files for each file copy. The names of the SHA-1 files will be the name of the files to copy appended with ".sha1" (this behavior can not be changed right now)

java -jar binarycopy.jar i=\A\C o=B\C -co

3 - copy contents of directory A to B only if they do not exist in B (only checks for existence, not size or date), create SHA-1 files for both the source and destination files and log every action in the file "copy.log" (if no path is specified, the Java default is to store files in the Java bin directory)

java -jar binarycopy.jar i=A o=B -co -ci -u l=copy.log

4 - copy contents of directory A to B only if they do not exist in B, log every action in the default log file ("binarycopy.log") and use a size optimized buffer to read/write files

java -jar binarycopy.jar i=A o=B -u -l -b

Improvements for future versions:
- Improve copy algorithm by copying the smaller files first so that most of the directory tree is available sooner and use a dynamic buffer for each group of files (based on size)
- Add a version with GUI and drag&drop capabilities
- Support for regular expressions and filters

More detailed documentation, including development details, will (hopefully) come soon :)

 

Last edit: ElusiveDeadGhostBrain 2012-08-18