加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用Directory类,检查某些文件类型的目录

发布时间:2020-12-15 21:42:58 所属栏目:百科 来源:网络整理
导读:我一直在使用以下行搜索特定文件类型的文件夹结构,只是复制这些文件类型并保持其原始文件夹结构.它工作得很好. 我可以对我的方法进行任何修改,只复制包含过滤文件类型的目录吗? *编辑:我可以让用户使用名为txtFilter的文本框选择一组特定文件(例如* .dwg或
我一直在使用以下行搜索特定文件类型的文件夹结构,只是复制这些文件类型并保持其原始文件夹结构.它工作得很好.
我可以对我的方法进行任何修改,只复制包含过滤文件类型的目录吗?

*编辑:我可以让用户使用名为txtFilter的文本框选择一组特定文件(例如* .dwg或* .pdf).

private void button1_Click(object sender,EventArgs e)
{
    string sourceFolder = txtSource.Text;
    string destinationFolder = txtDestination.Text;
    CopyFolderContents(sourceFolder,destinationFolder);
}

// Copies the contents of a folder,including subfolders to an other folder,overwriting existing files
public void CopyFolderContents(string sourceFolder,string destinationFolder)
        {
            string filter = txtFilter.Text;

            if (Directory.Exists(sourceFolder))
            {
                // Copy folder structure
                foreach (string sourceSubFolder in Directory.GetDirectories(sourceFolder,"*",SearchOption.AllDirectories))
                {
                    Directory.CreateDirectory(sourceSubFolder.Replace(sourceFolder,destinationFolder));
                }

                // Copy files
                foreach (string sourceFile in Directory.GetFiles(sourceFolder,filter,SearchOption.AllDirectories))
                {
                    string destinationFile = sourceFile.Replace(sourceFolder,destinationFolder);
                    File.Copy(sourceFile,destinationFile,true);
                }
            }
        }

解决方法

你的主循环中有这样的东西吗?

if (Directory.EnumerateFiles(sourceSubFolder,"*.pdf").Any())
       Directory.CreateDirectory(sourceSubFolder.Replace(sourceFolder,destinationFolder));

或多种文件类型:

if (Directory.EnumerateFiles(sourceSubFolder).Where(x => x.ToLower.EndsWith(".pdf") || x.ToLower.EndsWith(".dwg")).Any())
       Directory.CreateDirectory(sourceSubFolder.Replace(sourceFolder,destinationFolder));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读