C#实现拷贝文件到另一个文件夹下

 更新时间:2023年01月25日 15:24:38   作者:熊思宇  
这篇文章主要介绍了C#实现拷贝文件到另一个文件夹下,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C#拷贝文件到另一个文件夹下

/// <summary>
/// 拷贝文件到另一个文件夹下
/// </summary>
/// <param name="sourceName">源文件路径</param>
/// <param name="folderPath">目标路径(目标文件夹)</param>
public void CopyToFile(string sourceName, string folderPath)
{
    //例子:
    //源文件路径
    //string sourceName = @"D:\Source\Test.txt";
    //目标路径:项目下的NewTest文件夹,(如果没有就创建该文件夹)
    //string folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "NewTest");
 
    if (!Directory.Exists(folderPath))
    {
        Directory.CreateDirectory(folderPath);
    }
 
    //当前文件如果不用新的文件名,那么就用原文件文件名
    string fileName = Path.GetFileName(sourceName);
    //这里可以给文件换个新名字,如下:
    //string fileName = string.Format("{0}.{1}", "newFileText", "txt");
 
    //目标整体路径
    string targetPath = Path.Combine(folderPath, fileName);
 
    //Copy到新文件下
    FileInfo file = new FileInfo(sourceName);
    if (file.Exists)
    {
        //true 为覆盖已存在的同名文件,false 为不覆盖
        file.CopyTo(targetPath, true);
    }
}

注意方法内注释的用法,可以根据自己的需要更改。

C#文件搬运(从一个文件夹Copy至另一个文件夹)

时常我们会遇到文件的复制、上传等问题。特别是自动化生产方面,需要对机台抛出的档案进行搬运、收集,然后对资料里的数据等进行分析,等等。

Winform下,列举集中较常见的档案的搬运。

private void MoveFile()
        {
            string Frompath = @"D:\Test\OutPut";
            string directoryPath = @"D:\report";
            try
            {
                string[] picList = Directory.GetFiles(Frompath, "*.jpg"); //图片
                string[] txtList = Directory.GetFiles(Frompath, "*.txt"); //文本文件
                string[] pdfList = Directory.GetFiles(Frompath, "*.pdf");  //PDF文件

                foreach (string f in picList)
                {
                    //取得文件名.
                    string fName = f.Substring(Frompath.Length + 1);
                    File.Copy(Path.Combine(Frompath, fName), Path.Combine(directoryPath, fName), true);
                }
                foreach (string f in txtList)
                {
                    string fName = f.Substring(Frompath.Length + 1);
                    try
                    {
                        File.Copy(Path.Combine(Frompath, fName), Path.Combine(directoryPath, fName));
                    }
                    // 捕捉异常.
                    catch (IOException copyError)
                    {
                        MessageBox.Show(copyError.Message);
                    }
                }
                foreach (string f in pdfList)
                {
                    string fName = f.Substring(Frompath.Length + 1);
                    try
                    {
                        File.Copy(System.IO.Path.Combine(Frompath, fName), System.IO.Path.Combine(directoryPath, fName));
                    }
                    catch (IOException copyError)
                    {
                        MessageBox.Show(copyError.Message);
                        return;
                    }
                }
                //删除原始文件夹里的文件
                foreach (string f in txtList)
                {
                    File.Delete(f);
                }
                foreach (string f in picList)
                {
                    File.Delete(f);
                }
                foreach (string f in pdfList)
                {
                    File.Delete(f);
                }

            }
            catch (DirectoryNotFoundException dirNotFound)
            {
                MessageBox.Show(dirNotFound.Message);
            }
        }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#插入图片到Excel表格单元格代码详解

    C#插入图片到Excel表格单元格代码详解

    在本篇文章里小编给大家整理了关于C#插入图片到Excel表格单元格的具体方法和实例代码,需要的朋友们可以学习下。
    2019-07-07
  • C#拼图游戏编写代码

    C#拼图游戏编写代码

    这篇文章主要为大家详细介绍了C#拼图游戏的编写代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • c# 委托的本质是什么

    c# 委托的本质是什么

    这篇文章主要介绍了c# 委托的本质是什么,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 使用C#发送带附件的电子邮件的方法的代码示例分析

    使用C#发送带附件的电子邮件的方法的代码示例分析

    这篇文章主要介绍了使用C#发送带附件的电子邮件的方法的代码示例分析,文中还提到了利用163的SMTP服务器发邮件的方法,需要的朋友可以参考下
    2016-02-02
  • C#中while循环语句用法实例详解

    C#中while循环语句用法实例详解

    这篇文章主要介绍了C#中while循环语句用法,以实例形式详细分析了while语句的用法,并对return,continue,break的区别做了进一步的分析,需要的朋友可以参考下
    2014-10-10
  • C#中将DataTable转换成CSV文件的方法

    C#中将DataTable转换成CSV文件的方法

    DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表,在.net项目中运用C#将DataTable转化为CSV文件,接下来通过本文给大家提供一个通用的方法,感兴趣的朋友可以参考下
    2016-10-10
  • Windows系统中C#调用WinRAR来压缩和解压缩文件的方法

    Windows系统中C#调用WinRAR来压缩和解压缩文件的方法

    这篇文章主要介绍了Windows系统中C#调用WinRAR来压缩和解压缩文件的方法,个人感觉在Windows中WinRAR相对7-zip更加稳定一些,需要的朋友可以参考下
    2016-04-04
  • C#图书管理系统 附源码下载

    C#图书管理系统 附源码下载

    这篇文章主要为大家详细介绍了C#图书管理系统,文章中附源码下载,示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • C#设计模式之单例模式实例讲解

    C#设计模式之单例模式实例讲解

    这篇文章主要介绍了C#设计模式之单例模式实例讲解,本文讲解了单例模式的定义、单例模式的优缺点,需要的朋友可以参考下
    2014-10-10
  • WPF制作带小箭头的按钮完整代码

    WPF制作带小箭头的按钮完整代码

    WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架。下面通过本文给大家介绍WPF制作带小箭头的按钮完整代码,需要的朋友参考下吧
    2017-12-12

最新评论