Use apenas *.js
em for
loop e remova o \*.js
do seu comando type
.
Além disso, eu recomendo que você use uma extensão diferente para o arquivo de saída (pelo menos temporariamente) para evitar que o for
tente anexar o arquivo a si mesmo.
@echo off
del pheonix.js
FOR /R %%i in (*.js) do type "%%i" >> pheonix.tmp
ren pheonix.tmp pheonix.js
Se você tivesse removido o @
do seu lote, veria facilmente o que está errado:
D:\temp>FOR /R %i in (*) do type "%i"\*.js 1>>pheonix.js
D:\temp>type "D:\temp\aaa.js"\*.js 1>>pheonix.js
The directory name is invalid.
D:\temp>type "D:\temp\bbbb.js"\*.js 1>>pheonix.js
The directory name is invalid.
D:\temp>type "D:\temp\subfolder\cccc.js"\*.js 1>>pheonix.js
The directory name is invalid.