I tested it. Yes, fast for regular files.
I tested it for GB files too. Works.
From documentation
dwCopyFlags
Flags that specify how the file is to be copied.
Value Meaning COPY_FILE_NO_BUFFERING
0x00001000The copy operation is performed using unbuffered I/O, bypassing system I/O cache resources. Recommended for very large file transfers.
That would be for optimization against sector size. (Former I've seen noticeable speed improvement when adjusting this for RAID disks; today I've no RAID)
Ah ! I've missed something. I thought that with callbacks coding style, script would be able to continue while the filesystem operations are processed, and be notified regularly on process progress. In fact, the script waits for the copy to end.
So... having a progression feedback, we are at half way.
I think I mislead myself with ideas like DIALOG SHOW MODELESS instruction and callbacks. That is one reason I started questioning
Now, I foresee even more the difficulty to have asynchronous file operation.
Except the non script-blocking disk-operations that is essential.
For information. My project is not alpha ready but on right track.
Roughly : I have:
1 filesystem(FS) unit
1 DB unit
1 UI unit (no started yet)
user can work offline to queue operations (disks and shares can be offline), by interacting on DB through UI.
script tries to execute FS operations as soon as possible ( rename, copie, move, delete) while not blocking user work
script maintain db up to date. (not yet explored)
thinking...
maybe I should split the project in two scripts ? (I'd rather not)
I want to start simple (manual db update) and add feature on progress.
Features for alpha :
manual db update
display (2 panes) disks folder tree + files + duplicates
basic file operations
PS : not going into multi-threading like xLeaves's LzBot , is this concept possible in thinBasic ? (this is single thread)
Bookmarks