Você precisa quebrar o %G
no xcopy, senão ele passará b\
como parte do comando xcopy
Exemplo:
FOR /R "C:\Music" %G IN (.) DO xcopy "C:\plst.m3u" "%G"
Por que isso ocorre?
O comando que é passado é DO xcopy "C:\plst.m3u" C:\Music\A B\
, pois não há quebra automática em torno do% G na saída
Como há um espaço, ele tenta passar o b\
como parte do xcopy. Chaves disponíveis para xcopy:
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B]
[/EXCLUDE:file1[+file2][+file3]...]
Como b\
não faz parte desses switches, ele retorna o erro invalid number of parameters