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

Bra*_*ter 5 windows shell cmd dos batch-file

我需要做的是从%% 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
)
Run Code Online (Sandbox Code Playgroud)

Jos*_*ley 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
)
Run Code Online (Sandbox Code Playgroud)

有关FOR变量修饰符(如%% ~nf)的完整列表,请从命令行运行for /?,或在此处查看.