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.