1. 程式人生 > >C#實現檔案剪下的程式碼

C#實現檔案剪下的程式碼

public void CopyDir(string Ddir, string Sdir, int intflag)
  {
  DirectoryInfo dir = new DirectoryInfo(Sdir);
  string SbuDir = Ddir;
  try
  {
  if (!dir.Exists) //判斷所指的檔案或資料夾是否存在
  {
  return;
  }
  DirectoryInfo dirD = dir as DirectoryInfo; //如果給定引數不是資料夾則退出
  string UpDir = Directory.GetParent(Ddir).FullName;
  if (dirD == null) //判斷資料夾是否為空
  {
  Directory.CreateDirectory(UpDir + "\\" + dirD.Name); //如果為空,建立資料夾並退出
  return;
  }
  else
  {
  Directory.CreateDirectory(UpDir + "\\" + dirD.Name);
  }
  SbuDir = UpDir + "\\" + dirD.Name + "\\";
  FileSystemInfo[] files = dirD.GetFileSystemInfos();//獲取資料夾中所有檔案和資料夾
  //對單個FileSystemInfo進行判斷,如果是資料夾則進行遞迴操作
  foreach (FileSystemInfo FSys in files)
  {
  FileInfo file = FSys as FileInfo;
  if (file != null) //如果是檔案的話,進行檔案的複製操作
  {
  FileInfo SFInfo = new FileInfo(file.DirectoryName + "\\" + file.Name);
  //獲取檔案所在的原始路徑
  SFInfo.CopyTo(SbuDir + "\\" + file.Name, true);//將檔案複製到指定的路徑中
  }
  else
  {
  string pp = FSys.Name; //獲取當前搜尋到的資料夾名稱
  CopyDir(SbuDir + FSys.ToString(), Sdir + "\\" + FSys.ToString(),intflag);
  //如果是檔案,則進行遞迴呼叫
  }
  }
  if (intflag == 1)
  Directory.Delete(Sdir, true);
  }
  catch
  {
  MessageBox.Show("對不起,複製資料夾失敗!");
  }
  }