You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cake的CleanDirectory中设置排除模式以保留指定文件?

解决Cake中CleanDirectory排除特定文件的问题

Cake的CleanDirectory方法确实没有直接提供排除文件的参数,你可以手动实现带排除规则的目录清理逻辑,步骤如下:

  • 先获取目标目录下的所有文件,过滤掉需要保留的特定文件
  • 删除过滤后的文件
  • 按需删除目标目录下的所有子目录(如果需要清空子目录的话)

示例代码如下:

var myPath = GetDirectories("/folder").First();
var keepFileName = "要保留的文件名.txt"; // 替换为你需要保留的具体文件名

// 获取需删除的文件:排除指定保留文件
var filesToDelete = GetFiles(myPath, "*")
    .Where(file => file.GetFilename().FullPath != keepFileName);

// 删除筛选后的文件
foreach (var file in filesToDelete)
{
    DeleteFile(file);
}

// 删除所有子目录(不需要清空子目录可跳过此段)
var subDirectories = GetDirectories(myPath, "*");
foreach (var dir in subDirectories)
{
    DeleteDirectory(dir, new DeleteDirectorySettings { Recursive = true });
}

如果需要更灵活的排除规则(比如按通配符、文件名关键词匹配),可以调整Where条件,例如用file.GetFilename().FullPath.StartsWith("保留前缀")或者通配符匹配逻辑来筛选文件。

内容的提问来源于stack exchange,提问作者Newton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:44:54