复制限制为100MB的文件

GooliveR

帮助最终确定所有文件和文件夹的组成,并将它们复制到文件夹,您需要将文件夹限制为100MB

如果超过文件夹中文件的限制,如何对卷100MB上的文件夹进行不断检查,以完成复制。

public static void GetFilesList()
{
    long DS = 1000000;
    string[] extens = 
    { 
    ".txt", ".doc", 
    ".cs", ".ico", 
    ".Dll", ".Html", 
    ".Htm", ".Xml", 
    ".Php", ".png", 
    ".jpg", ".gif" 
    };
    if (DirSize(new DirectoryInfo(Easy.GooVer), DS) > DS)
    {
        foreach (string fileName in Directory.GetFiles(Easy.GooVer, "*.*", SearchOption.AllDirectories))
        {
            string ext = Path.GetExtension(fileName);
            if (Array.IndexOf(extens, ext) >= 0)
            { try{
              File.Copy(fileName, Path.Combine(Easy.str1, Path.GetFileName(fileName)), true);}catch { }
            }
        }
    }
}
public static long DirSize(DirectoryInfo d, long aLimit = 0)
{
    long Size = 0;
    FileInfo[] fis = d.GetFiles();
    foreach (FileInfo fi in fis)
    {
        Size += fi.Length;
        if (aLimit > 0 && Size > aLimit)
            return Size;
    }
    DirectoryInfo[] dis = d.GetDirectories();
    foreach (DirectoryInfo di in dis)
    {
        Size += DirSize(di, aLimit);
        if (aLimit > 0 && Size > aLimit)
            return Size;
    }
    return (Size);
}

PS:我使用的是.Net 2.0,但我不想使用Linq。

您的递归代码不正确。

您可以使用更简单的代码来获取目录大小

public static long DirSize(DirectoryInfo d)
{
    return d.GetFiles("*.*", SearchOption.AllDirectories).Sum(f => f.Length);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何上传大文件(〜100Mb)?

无法在弹性搜索中索引大于 100MB 的文件

自动从 git commits to github 中删除 >100MB 的文件

mongodb和pymongo文件大小限制为16Mb

如果排除了超过100MB的文件,但如果它们匹配已知文件扩展名的格式,则包括超过100MB的文件,我该如何传输数据?

SSH 配置文件限制为 100 个身份文件

iOS应用大小100MB警告

无法使用LibGDX Net在Android上下载100mb文件

使用Delphi构建的大于100MB的exe文件会有任何风险吗?

从提交历史记录中删除大于100MB的文件-迁移至Github失败

如何使用Python SDK将大文件(〜100mb)上传到Azure Blob存储?

上传大文件(100mb +)仅会使Chrome浏览器崩溃

如何备份Microsoft SQL Server数据库以创建多个100MB .bak文件

批量转换作业导致数据文件> 100MB的“ InternalServerError”

在Chrome上将100MB +文件发送到S3时发生内存崩溃

如何归档时忽略大于100MB的文件

无法将超过100mb的文件推送到git hub

如何查找或列出大小超过 100mb 的文件和目录

为什么numpy.save为sys.getsizeof 0.33MB数据生成100MB文件?

从具有路径目标c的所选文件夹中获取大小大于100MB的文件的列表

如何仅在ext4文件系统中对大小小于100MB的文件进行碎片整理

如何将ffmpeg输入流的输出文件大小限制为10 MB

读取100Mb xlsx文件在Java中进行解析并将其存储到mongodb中?快速

在MongoDB或其他数据库中存储100Mb文件并进行有效的交叉联接操作

如何压缩小于100mb的csv gzip?

新的Cat 5e布线,100Mb链接

500在Codeigniter / PHP上载时的错误>〜100MB

为什么EFI分区至少必须为100MB?

Java编译错误限制为100