foo.bat:
dir /b %3 > exclude_list.txt
xcopy %1 %2 /f /y /EXCLUDE:exclude_list.txt
Para exclusões como no seu exemplo:
call foo.bat "C:\source\*.ext" "C:\destination\" "*-*.ext"
Para nenhuma exclusão (hack inelegant):
call foo.bat "C:\source\*.ext" "C:\destination\" "A_STRING_THAT_CANNOT_MATCH"
Veja também Robocopy alterne /xf {filename}