Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Command Line - how to extract a file name only when using a for command loop

What I need to do is extract the filename from %%f so I can create the correct dll name.

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
)
like image 818
Brandon Michael Hunter Avatar asked Jun 25 '10 19:06

Brandon Michael Hunter


1 Answers

Use %%~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 a complete list of FOR variable modifiers like %%~nf, run for /? from the command line, or look online here.

like image 181
Josh Kelley Avatar answered Sep 21 '22 14:09

Josh Kelley