Command Line C++/C# File Copy Utility

Write a Visual Studio 2015 C++ command line program to recurse through a set of source and destination directories and copy the files and directory structure exactly. After each file copy, the destination file should be read back and SHA1 checksummed to make sure it matches the original. All attributes should be copied from the source to destination as well including file creation and modified time/dates. The purpose is to make an exact replica of a set of directories and check that they are the same. Subsequent runs should update the destination to reflect any changes in the source. Program should display the amount of time the program took to execute.

No specific time deadline, no rush needed. Would prefer a good implementation rather than a quick one.

*** Willing to pay more if you can offer a second version of the same program written in C#. ***


exactcopy dirspec -vss -checksum -quiet

dirspecx is a text file where the first line has the keyword "source", a space and the entire rest of the line specifies the directory path of the source file tree. It is defined this way so you can copy verbatim to the end of the line to account for paths with spaces embedded. The second line has the keyword "destination" and represents the target path to copy to which may or may not exist. The remaining lines in the file (there may be an arbitrary number) all have the keyword "exclude" and represent portions of the source file tree that should be excluded from the copy. Any exclusions are defined to be a child of the source. Checks should be made to terminate if any path specified does not exist. Any argument on the command line counts as a dirspec file, there may be one or many. The only exceptions are flags.

--- dirspec file example ---

source C:\Data

destination D:\Backups\Data

exclude C:\Data\Temp

exclude C:\Data\Cache

Base behavior should be to read and write files in 32Mbyte chunks using a fixed buffer (allocate once and reuse to limit memory usage), generating the SHA1 checksum for comparison along the way. If a file cannot be opened, an error should be printed to stderr and the program should continue to the next file.

- If a file or directory exists in the source, but does not exist in the destination, it should be created.

- If a newer copy (based on modified time/date) exists in the source, the destination file should be overwritten.

- If a file or directory exists in the destination, but not the source, delete it and print a message saying the file/directory was deleted.

*Display* - The program should continuously display the file it is checksumming or copying on the console in a single line. After the operation is complete, the cursor should be moved back to the beginning of the line so the current activity keeps on overwriting itself as a simple activity indicator without generating screens of data. The main output that should persist on the screen as the program runs other than this last activity line is a list of any errors that occured along the way.

Please trap all errors that might come up during the way (files may be on an external or network device that might be unplugged during a file copy).

--- Display example ---

Copying C:\Data\[url removed, login to view]

Optional Flags:


If a file cannot be opened, retry the file copy operation using the Volume Shadow Copy API.


If instead of using time/date to decide if the source should overwrite the destination, always checksum the source and overwrite the destination if the checksum doesn't match (regardless of time/date).


Omit the output marked as *Display*

Implementation notes:

Use dirhash as an example of directory recursing using FileFirstFile and FindNextFile:

[url removed, login to view]

Here are some examples of accessing file attributes.

[url removed, login to view]%28v=vs.85%[url removed, login to view]

[url removed, login to view]%28v=vs.85%[url removed, login to view]

Habilidades: Programação C#, Programação C++

Ver mais: windows volume display, use of tree data structure, use of data structure in programming, tree structure programming, tree structure in c, tree program in data structure, tree of data structure, tree in data structure using c, tree in data structure, tree data structure in c, tree data structure implementation in c, tree data structure example, tree data structure c, syntax programming, syntax in programming, set in c, programming syntax, network data structure, in line program, implementation of data structure, good c vs, examples of data structure, embedded programming in c, embedded c++ programming, date utility

Acerca do Empregador:
( 10 comentários ) Richmond, United States

ID do Projeto: #10487074

Premiar a:


Hello, I have more than 20 years of experience on C/C++ programming, and also on other languages like C#, PHP, Java, Javascript, VB. Please give me the oportunity to make your project happens. You don't need to pay me Mais

$250 USD em 5 dias
(3 Avaliações)

37 freelancers are bidding on average $586 for this job


Hi, I am Eric Wang, Mobile developer in China. I've just read your job posting and I’m very interested. I'm a certificated freelancer with over 450 good reviews from clients. I have experienced knowledge in every Mais

$750 USD in 20 dias
(616 Comentários)

Hi, I've read the details you mentioned and I'm interested in working on this project! I've a few important queries to ask so Please message me (Because only employer can initiate chat) so that we can discuss every Mais

$658 USD in 10 dias
(81 Comentários)

expert c++ and c# developer. I can provide both codes. I will only need a week for each program to complete. i have delivered many similar console programs in the past. so it should be no problem to me. I am confident Mais

$650 USD in 10 dias
(195 Comentários)
$750 USD in 14 dias
(37 Comentários)
$736 USD in 10 dias
(83 Comentários)

Hello, Based on the description it is required to develop the best File Copy command line tool with checksum check to compare the copied file with the original. From the description I understood you need two ver Mais

$1500 USD in 30 dias
(31 Comentários)

Hello Sir/Mam NovaSofts Inc. is a professional freelancer service provided to worthy clients like you. NovaSofts is the leading IT Company of Islamabad Pakistan. We have an experience of 9+ years and also preferred fr Mais

$1000 USD in 10 dias
(134 Comentários)

I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on server side, using c++ under linux environ Mais

$300 USD in 10 dias
(79 Comentários)

C++/C# is my main skill! I found your job post and I'm very interested in your project. As a certified desktop application developer with 10-years experience developing C++/C#, I think I have the right skills you' Mais

$555 USD in 10 dias
(45 Comentários)

Hi. I have about 15 years of programming experience. Mostly I used C, C++ and C# for my projects development. If it is necessary, C++ can be used for making the software, but I think it is better to use C#, though it Mais

$700 USD in 10 dias
(91 Comentários)

hi. I have 3+ years of experience in C++ and C#. I have built a lot of file handling applications. I'm very interested in your project and I have the skills to do it. I can start working on it immediately and provide a Mais

$500 USD in 10 dias
(54 Comentários)

Hi there. I have over 15 years software development. With over 7 year .Net, 12 database (Sql server, firebird, interbase, sqlite, ms access) and 15 years delphi experience. I have created numerous applications for des Mais

$250 USD in 20 dias
(82 Comentários)

Hi, I am an experienced C++ programmer. I don't have as much experience in C#, but if time is not an issue, it shouldn't be a problem to do it in C# too.

$500 USD in 10 dias
(69 Comentários)
$555 USD in 10 dias
(3 Comentários)

I can help you do the job in the shortest time . I will do the work of a very high quality. With best regards Igor.

$333 USD in 7 dias
(23 Comentários)

Hi, I have 11 years of experience and understood your all requirement. I am ready to implement it in C# or Java also along with C++. -Anurag

$277 USD in 5 dias
(16 Comentários)

I'm a computer science professional with PhD degree and extensive experience in C, C++, C#, Java, JavaScript, Python, Perl, PHP, databases, software engineering. It would be my pleasure to write this program for you in Mais

$700 USD in 14 dias
(19 Comentários)

Hello, I read over your detailed project spec and I think I'm the ideal candidate for you. I can write you the C++ version of this tool (we can discuss a c# implementation once you are satisfied with the first versi Mais

$647 USD in 10 dias
(7 Comentários)

Dear client, how are you? I am a C++ programmer and mathematician. Seems I already saw such a post several days ago. No problem. Please check my "Profile & Work List" and tell me details if my skill is in your conce Mais

$350 USD in 3 dias
(26 Comentários)

Dear Customer: I work as a C++/C# software engineer for 5+ years. I worked with corporate security systems, forensics development, cryptography, file system recursive search projects etc., can perform implementation Mais

$1100 USD in 20 dias
(2 Comentários)