原來的檔案路徑名FileOldPath;
新的檔案路徑名:FileNewPath,
那就可以用
File.Move(FileOldPath,FileNewPath)
或者File.Copy(FileOldPath,FileNewPath)
注意的是這裡的路徑是檔案夾路徑+檔案名稱,可以用Path.Combine()來實現
C#複製檔案夾
Directory類中包含了CreateDirectory、Move和Delete方法,卻唯獨沒有Copy方法-_-,下邊我們寫個類來實現,思路是利用遞迴把指定檔案夾及其子檔案夾中的檔案複製到目標檔案夾中:
程式碼
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
/// <summary>
/// MyDirectory 的摘要說明
/// </summary>
public class MyDirectory
{
/// <summary>
/// 檔案夾複製
/// </summary>
/// <param name="sourceDirName">原始路徑</param>
/// <param name="destDirName">目標路徑</param>
/// <returns></returns>
public static void Copy(string sourceDirName, string destDirName)
{
if (sourceDirName.Substring(sourceDirName.Length - 1) != "\\")
{
sourceDirName = sourceDirName + "\\";
}
if (destDirName.Substring(destDirName.Length - 1) != "\\")
{
destDirName = destDirName + "\\";
}
if (Directory.Exists(sourceDirName))
{
if(!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
foreach (string item in Directory.GetFiles(sourceDirName))
{
File.Copy(item,destDirName+Path.GetFileName(item),true);
}
foreach (string item in Directory.GetDirectories(sourceDirName))
{
Copy(item, destDirName + item.Substring(item.LastIndexOf("\\")+ 1));
}
}
}
}