如何递归处理路径,以便处理完成后路径下不存在空目录。
例如,假设我们有C:\Dir1\Dir2\Dir3
并且这些目录中都没有文件。结果应该是删除所有三个目录。
我想在不使用自定义任务的情况下完成此任务。
像这样的东西应该可以工作,但没有检查计算数千个文件的性能,尽管只是为了获取数组长度......
<Project DefaultTargets="Foo" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Foo">
<ItemGroup>
<Directories Include="$([System.IO.Directory]::GetDirectories('D:\foo', '*', System.IO.SearchOption.AllDirectories))" />
<Directories>
<Files>$([System.IO.Directory]::GetFiles("%(Directories.Identity)", "*", System.IO.SearchOption.AllDirectories).get_Length())</Files>
</Directories>
</ItemGroup>
<RemoveDir Directories="@(Directories)" Condition="%(Files)=='0'" />
</Target>
</Project>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)