0

因此,我希望能够使用批处理脚本构建任意数量的 VS 解决方案。我希望脚本搜索给定的项目名称,并将它们的文件路径传递给 VS CLI。格式如下:

build_slns (debug|release) [proj1] [proj2] ... [projN]

第一个参数是配置,所有后续参数都是项目名称。我遇到的问题是这些项目都将位于我的基本代码目录的不同子目录中。所以一个例子是这样的:

build_slns debug foo bar foobar

我要构建的 .slns 的位置如下:

Code\foo\foo.sln
Code\foo\bar\bar.sln
Code\foobar\foobar.sln

我相信我会想使用 FOR /F,但我只是对批处理不够熟悉,无法让它按照我想要的方式工作。非常感谢这里的任何指导。

4

1 回答 1

1

像这样的东西应该工作

@echo off
setlocal
::change the definition of cmd and root as needed
set cmd="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
set root="d:\utils"

:loop
if "%~2" equ "" exit /b
echo Searching for %2
for /f "eol=: delims=" %%F in ('dir /b /s "%root%\%2.sln"') do (
  echo Building %%F
  %cmd% "%%F" /build %1
)
shift /2
goto :loop
于 2012-05-14T14:49:22.187 回答