使用MSBuild检查目录是否为空

8
有没有方便的方法在MSBuild中检查一个目录是否为空?
2个回答

9
创建一个项目并查看其是否包含任何内容,如下所示:
<Target Name="CheckDirectoryForEmpty">
  <PropertyGroup>
    <EmptyCheck>./PathTo/DirectoryToCheck/*.*</EmptyCheck>
  </PropertyGroup>
  <ItemGroup>
    <EmptyCheck Include="$(EmptyCheck)" />
  </ItemGroup>
  <Message
    Condition="'@(EmptyCheck)' == ''"
    Text="Directory '$(EmptyCheck)' is empty"
    />
</Target>

为了进行递归检查,请在路径中使用**/*.*而不是*.*

我的情况类似,但我必须检查多个文件夹。如果要重复使用EmptyCheck ItemGroup,则必须首先清空它: <EmptyCheck Remove=@(EmptyCheck) />。当不为空时,可以使用以下方式将其附加到不同的ItemGroup中:<DifferentItemGroup Include=@(EmptyCheck) />。 - Parag Doke

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接