使用 msbuild 删除空目录

2023-11-27

如何递归处理路径,以便处理完成后路径下不存在空目录。

例如,假设我们有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(使用前将#替换为@)

使用 msbuild 删除空目录 的相关文章

随机推荐

  • 长ID的性能

    我想知道这个问题已经有一段时间了 在 CouchDB 中 我们有一些相当日志的 ID 例如 000ab56cb24aef9b817ac98d55695c6a 现在 如果我们正在搜索该项目并浏览由视图创建的树结构 看起来一个简单的整数作为 i
  • 为什么派生类不能在此代码中调用受保护的成员函数?

    include
  • 线程和文件写入

    我有一个使用 20 个线程的 java 程序 他们每个人都将结果写入一个名为output txt 我总是得到不同数量的行output txt 会不会是线程同步的问题 有办法处理这个问题吗 难道是线程同步的问题 Yes 有办法处理这个吗 是的
  • 如何构建使用 CMake FetchContent 下载的外部库?

    我有一个依赖于外部库 例如 SDL 的程序 我希望 CMake 为我处理这种依赖性 所以我正在研究FetchContent 据我了解 该模块只是下载源代码 以便可以在以下位置获得有关外部库的信息配置时间 例如 include FetchCo
  • SVN:发布分支和外部?

    我们有两个针对同一客户的网站 主 www 网站和另一个位于单独服务器上的电子商务网站 它们使用共享的代码部分 各种功能 样式 javascript 等 目前 我们通过将共享代码作为 SVN 中的单独项目 在同一存储库中 并使用 svn ex
  • Python3中如何设置文件权限?

    Python 自己的文档非常简洁地介绍了如何使用类似的函数os fchmod os chmod 我对这样的数字感到困惑777和类似的表达方式stat S IWRITE stat S IEXEC 是什么mode 0o777我在一些函数中看到o
  • 首先在 EF 4.1 代码中映射关联表

    我不确定如何映射下面的表格EF 4 1 code first以及我需要哪些对象来代表表格 我如何检索产品规格列表 我目前只有一个Product class Products Table Id Name IsActive ProductSpe
  • 如何正确配置 Cocoa Pods 项目?

    在我过去的一些项目中 Cocoa Pods 的配置不正确 这会导致一些不良情况 例如项目导航器中需要重复的 Cocoa Pod 项目 或者必须将 pod 文件签入版本控制 如何正确安装 Cocoa Pods 并验证我的目录结构和项目导航器结
  • 如何使用 API Gateway 调用 AWS Step Function

    如何使用 API Gateway POST 请求以及 Step Function 的请求 JSON 负载调用 AWS Step Function 1 创建阶跃函数 非常明显 我想如果您正在阅读本文 您就知道该怎么做 否则 您可以查看此处的文
  • 使用 LINQ 生成填充随机数的随机大小集合

    我现在正在学习 LINQ 我想知道是否有任何方法可以使用它来实际生成列表 而不仅仅是查询已经生成的列表 所以我有以下代码 使用 for 循环来生成随机大小的整数列表并用随机数填充它 有没有办法将其转换为 LINQ var ret new L
  • 当另一个表中存在匹配行时更新行

    仅当另一个表中存在匹配行时 对于主表中该列当前为空的所有行 我才需要将表上的字段更新为 true 这是我想要实现的目标的描述 UPDATE LenqReloaded dbo Enquiry A SET ResponseLetterSent
  • 限制 .net 应用程序的内存使用

    有没有办法限制 NET 应用程序使用的内存量 看看进程调控器 http lowleveldesign wordpress com 2013 11 21 set process memory limit with process govern
  • 如何在NumericUpDown控件中显示空值?

    我有一个 Windows 窗体应用程序 其中包括NumericUpDown控制与Minimum and Maximum相应地将值设置为 50 80 并执行步骤 1 当表单加载时NumericUpDown显示 50 我知道NumericUpD
  • r - 将输出从 sf::st_within 转换为向量

    我尝试使用 R 中的 sf 包来查看 sf 对象是否在另一个 sf 对象内st within功能 我的问题是这个函数的输出是稀疏几何二进制谓词 sgbp我需要一个向量作为输出 以便我可以使用dplyr之后打包进行过滤 这是一个简化的示例 o
  • VS2017 具有新的 getter/setter 语法:如何在 setter 中编写多行?/ [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我使用的是 NET Framework 4 5 2 VS2017 VS2017 为 getter 和 setter 提供了新的语法 现在带有 getter setter 的属性如下所示
  • 提交成功但上传无法在合并表单中使用

    在尝试将提交和上传合 并到一种表单中时 我在上传时遇到问题 但对于提交表单来说没有问题 jQuery Ajax oqcsubmit click function if oqc valid var params oqc serialize a
  • 如何在 R Markdown 中选择特定选项卡?

    我需要从中选择一个选项卡tabset在 R Markdown 文档中 使用 Shiny 运行时 我按照中的例子如何在Shiny中选择特定的tabPanel 并尝试将其适配为 R Markdown 我添加了ids 到选项卡集 选项卡 并在up
  • 对 Python argparse 参数组重新排序

    我在用着argparse我有一个自定义参数组required arguments 有什么方法可以更改帮助消息中参数组的顺序吗 我认为将必需的参数放在可选参数之前更符合逻辑 但没有找到任何文档或问题来提供帮助 例如 改变这个 usage fo
  • 将 csv 文件导入 Python 中的矩阵/数组

    我正在尝试将包含字符串和数字数据矩阵的大 csv 文件导入到 Python 中的数组 矩阵中 在 MATLAB 中 我曾经加载文件并将其简单地分配给一个矩阵 但在 Python 中似乎有点棘手 有人可以建议吗 我对 Python 还很陌生
  • 使用 msbuild 删除空目录

    如何递归处理路径 以便处理完成后路径下不存在空目录 例如 假设我们有C Dir1 Dir2 Dir3并且这些目录中都没有文件 结果应该是删除所有三个目录 我想在不使用自定义任务的情况下完成此任务 像这样的东西应该可以工作 但没有检查计算数千