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

时间:2010-06-25 19:52:35

标签: windows shell batch-file cmd dos

我需要做的是从%% 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
)

1 个答案:

答案 0 :(得分:5)

使用%% ~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,请从命令行运行for /?,或在线查看here