wraithdu Posted August 10, 2010 Share Posted August 10, 2010 (edited) The project grew out of my _LargeFileCopy UDF. It is an XCOPY replacement that improves in a few areas that were important to me. First, file verification can be done via bit-by-bit comparison, file hash, or simple size comparison. Second, it supports copying NTFS file/directory compression, encryption, and ACLs. It also has an optional simple progress display. All source files are in the archive. You can ignore the compilation warnings if you use Obfuscator.This is a commandline utility, and provides help as such. All you need is 'a3copy /?' and you should be good to go. Enjoy!Update: 10/8/12- Some fixes in _LargeFileCopy (see LFC thread)- Use DllCall versions of FindFirst/NextFileUpdate: 10/4/12- Added ability to specify multiple sources to be consolidated into the destination- Added flag to flatten the output, ie during a directory copy, all files are copied to the top level of the destination- Added check for cyclic copy- Built with new and improved _LargeFileCopy, including code cleanup and many optimizationsUpdate: 9/22/10- Added check for destination same as sourceUpdate: 9/20/10- Added --version switch- Changes to _LargeFileCopy UDF, updated hashing functions- Updated user input functionUpdate: 8/26/10- Added Aliases: custom INI defined long options- Added return codes, useful for scripting- Fix for verification of 0 byte files (fix is in _LargeFileCopy.au3)Update: 8/22/10- Added support for EFS encryption- Small bug fixes and code cleanupHelp:expandcollapse popupA3COPY 1.0.2.3 Copies file and directory trees. A3COPY source [source [source] ...] destination [options] source Specifies the file(s) to copy. destination Specifies the location and/or name of new files. /C Copy file/directory compression state (NTFS only). /E Copy also empty directories. /F Flush file buffer after each copy. /G Show copy progress of current file. /H Copy hidden or system files. /J Copy using unbuffered I/O. /K Copy file/directory attributes. /L Flatten the output into one destination directory. /N Copy file/directory encryption state (NTFS only). /O Copy file/directory ownership and ACL information (NTFS only). Requires admin rights. /P Print full paths of source and destination. /Q Don't print file names. /R Allow operations on read-only files/directories. /S Recurse into subdirectories. /T Set destination filetimes same as source. NOTE: Only one verify method will be used. The final option flag will take precedence. /V or /V1 Verify the integrity of the copied files using a bit by bit comparison. /V2 Verify the integrity of the copied files using a MD5 hash. /V3 Verify the integrity of the copied files using file size only. Not valid for unbuffered copy operations. /W Apply wildcard to folder search when using /S. /Y Overwrite destination without prompt. /Z Never overwrite destination, suppress prompt. /? This usage information. Long options: --filespec Show source/destination filespec help. --copy Same as /EHRSTVY. --backup Same as /EHKRSTVY. --clone Same as /CEHKNORSTVY. --version Print version information. --help Same as /?. Aliases: Aliases may be set up in 'a3copy.ini' in the same folder as A3COPY. The aliases are invoked in the same way as the built-in long options. Example: a3copy src dest --mycopy [aliases] mycopy=EJSV cpyroot=CKNOV Return codes: 0: no errors 1: source not found 2: invalid file name / wildcard pattern 3: one or more errors copying filesFilespec help:A3COPY 1.0.2.3 Copies file and directory trees. Filespec for source/destination: If source is a single file, then destination may be a file or directory. If destination ends in a '' then a directory is assumed. If not, then a single destination file is assumed unless a direcotry of the same name already exists. If destination is a directory, then the source file name will be used for the destination file. If source is a directory or wildcard filespec, then destination is assumed to be a directory. Wildcard filespec follows standard Windows usage of '*' and '?'. When the source is a directory, if filespec does not include a wildcard then it is assumed the directory is to be copied, and the top level directory attributes will be duplicated if the appropriate switches are set (/C, /K, /N, or /O). If the source filespec includes a wildcard, then it is assumed directory contents are to be copied, and the top level directory attributes will not be duplicated.a3copy.zip Edited October 8, 2012 by wraithdu Link to comment Share on other sites More sharing options...
wraithdu Posted August 22, 2010 Author Share Posted August 22, 2010 Updated, see first post. Link to comment Share on other sites More sharing options...
wraithdu Posted August 26, 2010 Author Share Posted August 26, 2010 Updated, see first post. Link to comment Share on other sites More sharing options...
wraithdu Posted September 20, 2010 Author Share Posted September 20, 2010 Updated, see first post. Link to comment Share on other sites More sharing options...
wraithdu Posted September 22, 2010 Author Share Posted September 22, 2010 Updated, see first post. Added a check for destination file same as source file. This would result in the source file being deleted, oops! Link to comment Share on other sites More sharing options...
wraithdu Posted October 4, 2012 Author Share Posted October 4, 2012 Super new update, built with latest _LFC, see OP for changes and download. Link to comment Share on other sites More sharing options...
wraithdu Posted October 8, 2012 Author Share Posted October 8, 2012 Updated to fix LFC bugs, see OP. Link to comment Share on other sites More sharing options...
Sundance Posted January 25, 2014 Share Posted January 25, 2014 Hi wraithdu, I know that the last 15 month there was no post here but on the other hand the UDF is nearly perfect :-). So no need for a change... But I have a question. I wan't to copy some special windows folders like "Documents and Settings". There have some security settings which make them unique. When I try to copy them with a3copy I get not a 1on1 copy. It takes the inherited security settings and also doesn't create the user 'everyone'. I know there is no flag for clearing the DACL. Can you point me in the right direction on how to copy those files? Possibly with the help of using only _LargeFileCopy? Many thanks in advance Sundance PS: I also thought of using some kind of raw block level copy for copying them to another drive. Just like an 'image' of the whole file. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now