0

そのため、バッチスクリプトを使用して任意の数のVSソリューションを構築できるようにしたいと考えています。スクリプトで指定されたプロジェクト名を検索し、それらのファイルパスをVSCLIに渡します。形式は次の行に沿ったものになります。

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 に答える