命令行 - 如何仅在使用for命令循环时提取文件名

问题描述:

我需要做的是从%% f中提取文件名,以便我可以创建正确的dll名称。命令行 - 如何仅在使用for命令循环时提取文件名

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 
) 

对于像%%〜NF'变量的完整列表,请在命令行中运行for /?,或在线here看。