You might need to use %%f instead of %f for the first one (and maybe the second one). In a batch file (which VS might use to implement these custom build steps), you have to use the extra % for identifiers.
Edit: here's the first part of the output from help for
on the command line.
Runs a specified command for each file in a set of files.
FOR %variable IN (set) DO command [command-parameters]
%variable Specifies a single letter replaceable parameter.
(set) Specifies a set of one or more files. Wildcards may be used.
command Specifies the command to carry out for each file.
command-parameters
Specifies parameters or switches for the specified command.
To use the FOR command in a batch program, specify %%variable instead
of %variable. Variable names are case sensitive, so %i is different
from %I.