Eu, como teste, escrevi eco antes de cada linha para ter uma ideia do que estava fazendo.
O% 1 e% * estão sendo consumidos pelo arquivo em lote, pois os substituem por nada. Para o comportamento em Cmd, você precisa usar %% 1 e %% *
Experimente %% 1 e %% *