If there are options to change attributes after copying, then those should apply, but otherwise, not preserving attributes (except the Archive bit) I'd probably report as a bug...
As this is supposed to be a copy/move tool, IMHO, it should be compatible with Windows, and keep the original timestamps like a normal copy would. Again, I'd report it as a bug if it didn't... despite the limited value of file timestamps.
Hello Ath, thank you for telling, i would like to explain how i do:
I do copy only files content (ie: i read in a stream and write that to target, it is a 1:1 copy of original content, realized with Delphi Filestream)
I will take your bugs and squish them by implementing more Copy Methods (Winapi: CopyFile; MoveFile; SHFileOperation), would that satisfy?
Since my method use Streams to read/write, original attributes and timestamp are lost with my own method, implemented checkboxes to set them back to original what cost performance (i need to touch everything twice), so i let user define. (by default all checkboxes are set to give most compatible target)
If you wonder why i use Streams for read/write, simple answer:
1. copy progress is faster than Winapi
2. i can react on bad-sectors, Winapi would fail, my method can atleast skip bad-parts (while let user decide what to do on read errors)
first i try using normal stream to read/write, on read errors i switch to hardware mode wich is like:
read file direct from partition, byte by byte and skipping bad. This feature is alpha phase, fragmentation is my enemy :-)
Different but related topic:
Have you thought about the Alternate Data Streams (ADS) that can be stored on the NTFS filesystem? (Available since Windows 2000) They should be copied/moved when the destination filesystem is also NTFS, and probably/optionally give a warning or not delete the source when moving, when ADS's are found. A simple "dir /r" in a cmd prompt will show any ADS's for files that have them (try that in your Downloads folder..., NirSoft's AlternateStreamViewer can show you their content)
My only experience with ADS is to remove them. Eg: Download a .exe file with InternetExplorer, when you try to run .exe your Windows is telling that file might be unsafe because its downloaded, my ADS-Remover would fix that situation, no more "file might unsafe" warnings, more experience i havent made yet! I will investigate your linked resource and see what i can do. Thank you!
My App is not intended to be a "Cloner" yet (additional NTFS Security Attributes, Windows GUIDs, other OS-Specific Information are not handled yet!)
For now it realy just do 1:1 content copies. My App handle "1:1 content, Standard-file attributes, Datetimestamp"