zoukankan      html  css  js  c++  java
  • 文件夹复制和粘贴

    遍历文件夹的子文件夹下的所有文件,将上个月的文件集中到一起,然互压缩,并copy到服务器的映射磁盘。

    static void Main(string[] args)
    {
    //原始文件存放的位置
    DirectoryInfo theFolder = new DirectoryInfo(@"E:TestFloder");
    //将文件拷贝到该文件夹下
    string targetPath = @"D: est";
    DirectoryInfo[] dirInfo = theFolder.GetDirectories();
    //遍历文件夹下的子文件夹
    foreach (DirectoryInfo folder in dirInfo)
    {
    FileInfo[] filesInfo = folder.GetFiles();
    //遍历子文件夹下的文件
    foreach (FileInfo file in filesInfo) 
    {
    //将上个月的文件拷贝到
    if (file.CreationTime.ToShortDateString().Equals(DateTime.Now.AddMonths(-1).ToShortDateString()))
    {
    if (!CopyFile(file, targetPath))
    {
    //log 复制文件失败
    }
    else
    {
    file.Delete();
    }
    }
    }
    }


    string zipFilePath = @"D:" + DateTime.Now.AddMonths(-1).ToString("yyyyMMdd") + ".zip";
    string remotePath = @"\127.1.0.0" + @"D:" + DateTime.Now.AddMonths(-1).ToString("yyyyMMdd") + ".zip";

    if (!ZipFiles(targetPath, zipFilePath))
    {
    //压缩文件失败
    }
    else
    {
    //压缩文件成功
    //将压缩后的文件拷贝到映射的服务器磁盘
    if (!CopyFile(zipFilePath, remotePath))
    {
    //Copy失败
    }
    else
    {
    //copy成功
    //删除原有的
    File.Delete(zipFilePath);
    }

    }

    }

    /// <summary>
    /// 移动文件到指定目录
    /// </summary>
    /// <param name="file">文件</param>
    /// <param name="targetPath">目标路径</param>
    /// <returns></returns>
    public static bool CopyFile(FileInfo file, string targetPath)
    {
    try
    {
    if (!Directory.Exists(targetPath))
    {
    Directory.CreateDirectory(targetPath);
    }
    targetPath = targetPath + @"" + file.Name;

    File.Copy(file.FullName, targetPath, true);
    return true;
    }
    catch (Exception)
    {
    return false;
    }
    }

    /// <summary>
    /// 移动文件到指定目录
    /// </summary>
    /// <param name="filePath"></param>
    /// <param name="targetPath"></param>
    /// <returns></returns>
    public static bool CopyFile(string filePath, string targetPath)
    {
    try
    {
    File.Copy(filePath, targetPath, true);
    return true;
    }
    catch (Exception)
    {
    return false;
    }
    }

    /// <summary>
    /// 压缩文件
    /// </summary>
    /// <param name="folderPath">被压缩文件夹路径</param>
    /// <param name="zipPath">压缩文件路径</param>
    /// <returns></returns>
    public static bool ZipFiles(string folderPath, string zipPath)
    {
    try

    System.Diagnostics.Process process = new System.Diagnostics.Process();
    //软件7Z的安装目录
    process.StartInfo.FileName = @"D:Program Files7-Zip7z.exe";
    process.StartInfo.Arguments = string.Format(" a -tzip {0} {1}", zipPath, folderPath);
    process.Start();
    //一定要等待完成后,才能删除。
    process.WaitForExit();

    //删除文件夹下文件
    DeleteFiles(folderPath);

    return true;
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    /// <summary>
    /// 删除文件夹下文件
    /// </summary>
    /// <param name="folderPath">文件夹路径</param>
    public static void DeleteFiles(string folderPath)
    {
    try
    {
    DirectoryInfo folder = new DirectoryInfo(folderPath);
    FileInfo[] filesInfo = folder.GetFiles();
    foreach (FileInfo file in filesInfo)
    {
    File.Delete(file.FullName);
    }
    //log 删除文件夹下文件成功
    }
    catch (Exception ex)
    {
    //log 删除文件夹下文件失败
    throw ex;
    }
    }

  • 相关阅读:
    57. Insert Interval
    287. Find the Duplicate Number
    52. N-Queens II
    51. N-Queens
    151. Reverse Words in a String
    29. Divide Two Integers
    [POJ2104]K-th Number
    [JSOI2008]最大数
    [BZOJ3673&3674]可持久化并查集&加强版
    C++ STL rope介绍----可持久化平衡树
  • 原文地址:https://www.cnblogs.com/qiu18359243869/p/9485771.html
Copyright © 2011-2022 走看看