: is not a valid character in a filename on windows (Along with " \ / * ? < > and |), I'm guessing the expansion of %time contains the :'s separating hours, minutes and seconds.
A stab in the dark could be replacing %time:~0,10% with something like:
%time:~0,2%_%time:~3,2%_%time:~6,2%
This assumes that %time% always will be on the form "hh:mm:ss.ss", and I think this depends on your locale (I.e. my locale uses a , instead of a . to separate seconds from 1/100 seconds). It should give you something like hh_mm_ss instead of hh:mm:ss. If you want the first digit of 1/100 seconds (as you have in your original example) you could change the last variable expansion to take character-range 6,4 instead of 6,2.
So, at frist glance I overlooked the /'s which also is invalid in a filename, you probably also want to remove those as well. Assuming that %date% will be on the format "ddd DD/MM/yyyy" you could try something like (my locale differs from this so untested):
%date:~4,2%_%date:~7,2%_%date:~10,4%
For testing all this, if you're not already doing it, I suggest opening cmd.exe and just typing it in there. "echo %time:~0,2%etc.etc." to find something that fits with your locale.
Finally, a word of warning, this basically assumes a specific locale, it's unlikely to be portable to different locales.