2012-05-14 6 views
0

Итак, я хочу иметь возможность создавать произвольное количество VS-решений с использованием пакетного скрипта. Я хотел бы сценарий для поиска заданных имен проекта, и передать их в Пути к файлам формата VS CLI.The бы вдоль линий:Рекурсивно искать и создавать произвольные VS-решения с использованием командного сценария w/командной строки args

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 

Я считаю, я хочу использовать для/F, но Я просто недостаточно знаком с партией, чтобы заставить ее работать так, как я ее хочу. Любое руководство здесь очень ценится.

ответ

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 
+0

работает как шарм. Благодаря! –