То, что я должен сделать, извлечь имя файла из %% f, таким образом, я могу создать корректное имя dll.
for %%f in (*.asmx.cs) do (
echo %%f
cmd /c C:\windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:library /r:%assemblies% %compileoptions% /out:bin/%%f.dll %%f
)
Используйте %% ~ nf.
for %%f in (*.asmx.cs) do (
echo %%~nf
cmd /c C:\windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:library /r:%assemblies% %compileoptions% /out:bin/%%~nf.dll %%f
)
Чтобы получить полный список модификаторов переменных FOR, таких как %% ~ nf, запустите для /?
из командной строки или посмотрите в Интернете здесь .