on my system copy jobs take ages (a FDE-ed SDXC features ~5MB/s write speed) so I wrote a script that notifies me when the job is actually finished (writing to disk is finished)*, maybe it is of help to anyone else.
Requirements: grep and gawk from CygWin in the path (don't forget the necessary DLLs, but Win will tell you)
HowTo: Press F8 to go to config, lowest entry "run a command" you run
start /MIN [path]\myCoolDiskWatcher.bat
typeperf "\PhysicalDisk(*)\% Disk Time"
HTH!
* Veracrypt (my FDE tool) unfortunately uses kinda cache, so FFS is finished tens of minutes before the cache is written down)
the batch file:
@echo off
REM quit if disk unavailable
typeperf "\PhysicalDisk(2*)\%% Disk Time" -sc 1 && goto START
msg /TIME:0 * phys. disk 2 not found
goto END
:START
sleep 15
echo %%TIME%% - | tr -d "\r\n" && typeperf "\PhysicalDisk(2*)\%% Disk Time" -sc 1 | grep / | gawk -F """" '{ print $4 }'
REM check activity percentage
typeperf "\PhysicalDisk(2*)\%% Disk Time" -sc 1 | grep / | gawk -F """" '{ print $4 }' | grep 0\. || goto START
REM re-check twice after 10s each to make sure the job is finished
sleep 10
typeperf "\PhysicalDisk(2*)\%% Disk Time" -sc 1 | grep / | gawk -F """" '{ print $4 }' | grep 0\. || goto START
sleep 10
typeperf "\PhysicalDisk(2*)\%% Disk Time" -sc 1 | grep / | gawk -F """" '{ print $4 }' | grep 0\. || goto START
msg /TIME:0 * copy to V:\ copy finished, start next job
:END
exit