回覆列表
  • 1 # 錢布斯

    C#中複製指定資料夾下的所有資料夾目錄到指定資料夾中的方法。

    public static void CopyFolder(string strFromPath,string strToPath)

    {

    //如果原始檔夾不存在,則建立

    if (!Directory.Exists(strFromPath))

    {

    Directory.CreateDirectory(strFromPath);

    }

    //取得要複製的資料夾名

    string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") +

    1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);

    //如果目標資料夾中沒有原始檔夾則在目標資料夾中建立原始檔夾

    if (!Directory.Exists(strToPath + "\\" + strFolderName))

    {

    Directory.CreateDirectory(strToPath + "\\" + strFolderName);

    }

    //建立陣列儲存原始檔夾下的檔名

    string[] strFiles = Directory.GetFiles(strFromPath);

    //迴圈複製檔案

    for(int i = 0;i < strFiles.Length;i++)

    {

    //取得複製的檔名,只取檔名,地址截掉。

    string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1);

    //開始複製檔案,true表示覆蓋同名檔案

    File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);

    }

    //建立DirectoryInfo例項

    DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);

    //取得原始檔夾下的所有子資料夾名稱

    DirectoryInfo[] ZiPath = dirInfo.GetDirectories();

    for (int j = 0;j < ZiPath.Length;j++)

    {

    //獲取所有子資料夾名

    string strZiPath = strFromPath + "\\" + ZiPath[j].ToString();

    //把得到的子資料夾當成新的原始檔夾,從頭開始新一輪的複製

    CopyFolder(strZiPath,strToPath + "\\" + strFolderName);

    }

    }

  • 中秋節和大豐收的關聯?
  • 走油肉怎麼做?