Как сохранить вывод cmd из msbuild в файл журнала в цикле for? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть несколько файлов решений Visual Studio 2015, которые я хотел бы создать с помощью командной строки.Я хотел бы, чтобы выходные данные хранились в одном файле

Вот содержимое пакетного файла, который строит решения.

echo off

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"

set _SCRIPT_DRIVE=%~d0
echo DRIVE %_SCRIPT_DRIVE%


set baseDir=%_SCRIPT_DRIVE%\Source\Service\4.0\Branches\ARES
echo baseDir =  %baseDir%


set buildLog=%baseDir%\Build.log


rem these are the directory names / solution name of the projects I want to build
rem you can build 'n' solutions and use your own instead of me giving you the solution and code
set thirdParty=Cert,ManagedHooks,NLog,Newtonsoft.Json,RabbitMQ,MDTE
echo.
echo building  %thirdParty%
echo.


for %%p in (%thirdParty%) do (
  echo.
  echo building %%p

  cd %%p

  set thirdPartySolutionFile=%%p%.sln
  echo solution file : %thirdPartySolutionFile%

  MSBuild %thirdPartySolutionFile% /t:Rebuild /m /p:Configuration=Debug > %buildLog%

  cd ..
)

Я получаю только последнюю информацию о сборке проекта, сохраненную в журналефайл

1 Ответ

2 голосов
/ 20 мая 2019

>> - это ответ

https://www.tutorialspoint.com/batch_script/batch_script_appending_files.htm

> перезаписывает файл% buildLog%.

>> добавит входные данные в этот файл

поэтому строка, в которой вы вызываете инструмент построения и отправляете вывод в файл, должна быть изменена таким образом, чтобы в ней вместо >>

MSBuild %thirdPartySolutionFile% /t:Rebuild /m /p:Configuration=Debug >> %buildLog%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...