C#實現檔案剪下的程式碼
阿新 • • 發佈:2019-01-31
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("對不起,複製資料夾失敗!"); } }