Me pregunto cómo sincronizar dos carpetas, incluidas las subcarpetas que usan MSBuild.Sincronizar dos carpetas con MSBUILD
Lo que me gusta hacer es
a) para copiar todos los archivos de la carpeta de origen a la carpeta dest que son más recientes o no existen en la carpeta dest
y
b) para eliminar todos los archivos de la carpeta dest que no existe (ya) en la carpeta fuente
a) es bastante fácil con el <Copy>
tarea, pero ¿cómo puedo lograr b)?
Ésta es mi fichero de construcción hasta el momento:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0"
DefaultTargets="Backup">
<PropertyGroup>
<SourceFolder>C:\source</SourceFolder>
<DestFolder>C:\dest</DestFolder>
</PropertyGroup>
<ItemGroup>
<FilesToCopy Include="$(SourceFolder)\**" />
</ItemGroup>
<Target Name="Backup">
<!-- copy all files from the source folder to the dest folder
that are newer or don't exist in the dest folder -->
<Copy
SourceFiles="@(FilesToCopy)"
DestinationFiles="@(FilesToCopy->'$(DestFolder)\%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="True" />
<!-- TODO: remove all files from the dest folder
that don't exist in the source folder -->
</Target>
</Project>
que funciona bien! Instalé MSBuild-Extensions y agregué ' ' al buildfile –
miasbeck