//include this using System.IO; public void CreateFolder(string FolderPath) { // Specify the directories you want to manipulate. DirectoryInfo di = new DirectoryInfo(FolderPath); try { //check folder already exists. if (di.Exists) { MessageBox.Show("Folder already exists."); } else { //create folder di.Create(); } } catch (Exception e) { MessageBox.Show(e.ToString()); } } public void DeleteFolder(string FolderPath) { // Specify the directories you want to manipulate. DirectoryInfo di = new DirectoryInfo(FolderPath); try { //check folder exists. if (di.Exists) { //delete all including sub folder di.Delete(true); } } catch (Exception e) { MessageBox.Show(e.ToString()); } } public void CopyAll(DirectoryInfo source, DirectoryInfo target) { if (source.FullName.ToLower() == target.FullName.ToLower()) { return; } // check target folder exists if (Directory.Exists(target.FullName) == false) { //create target target folder Directory.CreateDirectory(target.FullName); } //copy each file to target folder foreach (FileInfo fi in source.GetFiles()) { fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true); } //copy each sub folder to target folder foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) { DirectoryInfo nextTargetSubDir = target.CreateSubdirectory(diSourceSubDir.Name); //copy all file from subfolder to target subfolder CopyAll(diSourceSubDir, nextTargetSubDir); } } public void MoveAll(DirectoryInfo source, DirectoryInfo target) { try { //check source folder exist if(source.Exists) //check destination not exist if(!target.Exists) source.MoveTo(target.ToString()); } catch (IOException e) { MessageBox.Show(e.Message); } } public void RenameTo(DirectoryInfo di, string NewName) { if (di == null) { MessageBox.Show("Directory info to rename cannot be null"); } if (string.IsNullOrWhiteSpace(NewName)) { MessageBox.Show("New name cannot be null or blank"); } di.MoveTo(Path.Combine(di.Parent.FullName, NewName)); } //method usage CreateFolder(@"C:\NewFolder"); DeleteFolder(@"C:\FolderToDelete"); DirectoryInfo Source = new DirectoryInfo(@"C:\SourceFolder"); DirectoryInfo Target = new DirectoryInfo(@"C:\TargetFolder"); CopyAll(Source, Target); MoveAll(Source, Target); RenameTo(Source, "NewName");Additional Reading :
Wednesday, January 30, 2013
C# Create Delete Move Copy Rename Folder
Folder Manipulation (Create Delete Move Copy Rename Folder) in C#
Sample Code:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment