`rclone copy t:\ --include=filename` does NOT work, but `rclone copy t:\filename` works

Hmm ok, so this is something to do with VSS.

If you do this do you get the correct file size or not?

rclone lsl t:\ --include=/filename

So when rclone read the file via the directory listing it was the correct size 1147752 - I'd expect the lsl above to give the correct size 1147752 in that case.

It is when rclone read the size through an open file descriptor that the size is wrong, so this comment

Is probably correct.

os.Lstat good, os.File.Stat bad.

That's definitely a bug, but in what? Most likely the Go runtime, though it could be a bug in Windows VSS also. The go runtime is calling the GetFileInformationByHandle system call to read the info about the file from the file handle

Can you make a reproduction for me? So what I need is a sequence of commands to run to make the VSS and replicate the problem. I've never made a VSS before so I need help with that bit! I have a Windows 10 VM I can try things on.