Solución:
Me encontré con esto mientras buscaba una solución a mi problema. Aquí está mi solución (compilar script):
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Default">
<Exec Command="build.bat" WorkingDirectory="..[your dir]" />
</Target>
</Project>
Creo que eso es más lo que estabas buscando originalmente.
Mi problema fue que mi archivo por lotes llamó a otro que esperaba que estuviera en el mismo directorio, pero dado que mi script de compilación de ms se estaba ejecutando en otro lugar, el archivo por lotes no pudo encontrar el segundo archivo por lotes.
@jkohlhepp – Ya veo. Está haciendo lo contrario de lo que describí en mi comentario hasta cierto punto.
Los destinos comunes de MSBuild usan MSBuildProjectDirectory para determinar la carpeta de salida a menos que la anule. Entonces, en tu caso, podrías correr
msbuild.exe \my_serverc$MyPatToScriptsTestScript.msbuild /p:OutDir=c:temp
para forzar que la salida se deje caer en esa ubicación.
EDITAR:
Dado el archivo de proyecto anterior, necesitaría editarlo para hacer algo como lo siguiente para que esto funcione:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutDir Condition=" '$(OutDir)' == '' ">bindebug</OutDir>
</PropertyGroup>
<ItemGroup>
<!-- Without prefacing files with paths, they are assumed relative to the proj file -->
<FilesToCreate Include="$(OutDir)HelloWorld.txt" />
</ItemGroup>
<Target Name="TouchFiles">
<Touch Files="@(FilesToCreate)" AlwaysCreate="True" />
</Target>
</Project>