1. 复制文件和目录: // Simple synchronous file copy operations with no user interface. // To run this sample, first create the following directories and files: // C:/Users/Public/TestFolder // C:/Users/Public/TestFolder/test.txt // C:/Users/Public/TestFolder/SubDir/test.txt public class SimpleFileCopy { static void Main() { string fileName = "test.txt"; string sourcePath = @"C:/Users/Public/TestFolder"; string targetPath = @"C:/Users/Public/TestFolder/SubDir"; // Use Path class to manipulate file and directory paths. string sourceFile = System.IO.Path.Combine(sourcePath, fileName); string destFile = System.IO.Path.Combine(targetPath, fileName); // To copy a folder's contents to a new location: // Create a new target folder, if necessary. if (!System.IO.Directory.Exists(targetPath)) { System.IO.Directory.CreateDirectory(targetPath); } // To copy a file to another location and // overwrite the destination file if it already exists. System.IO.File.Copy(sourceFile, destFile, true); // To copy all the files in one directory to another directory. // Get the files in the source folder. (To recursively iterate through // all subfolders under the current directory, see // "How to: Iterate Through a Directory Tree.") // Note: Check for target path was performed previously // in this code example. if (System.IO.Directory.Exists(sourcePath)) { string[] files = System.IO.Directory.GetFiles(sourcePath); // Copy the files and overwrite destination files if they already exist. foreach (string s in files) { // Use static Path methods to extract only the file name from the path. fileName = System.IO.Path.GetFileName(s); destFile = System.IO.Path.Combine(targetPath, fileName); System.IO.File.Copy(s, destFile, true); } } else { Console.WriteLine("Source path does not exist!"); } // Keep console window open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } 2. 移动文件和目录: // Simple synchronous file move operations with no user interface. public class SimpleFileMove { static void Main() { string sourceFile = @"C:/Users/Public/public/test.txt"; string destinationFile = @"C:/Users/Public/private/test.txt"; // To move a file or folder to a new location: System.IO.File.Move(sourceFile, destinationFile); // To move an entire directory. To programmatically modify or combine // path strings, use the System.IO.Path class. System.IO.Directory.Move(@"C:/Users/Public/public/test/", @"C:/Users/Public/private"); } } 3. 删除文件和目录: // Simple synchronous file deletion operations with no user interface. // To run this sample, create the following files on your drive: // C:/Users/Public/DeleteTest/test1.txt // C:/Users/Public/DeleteTest/test2.txt // C:/Users/Public/DeleteTest/SubDir/test2.txt public class SimpleFileDelete { static void Main() { // Delete a file by using File class static method... if(System.IO.File.Exists(@"C:/Users/Public/DeleteTest/test.txt")) { // Use a try block to catch IOExceptions, to // handle the case of the file already being // opened by another process. try { System.IO.File.Delete(@"C:/Users/Public/DeleteTest/test.txt"); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); return; } } // ...or by using FileInfo instance method. System.IO.FileInfo fi = new System.IO.FileInfo(@"C:/Users/Public/DeleteTest/test2.txt"); try { fi.Delete(); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } // Delete a directory. Must be writable or empty. try { System.IO.Directory.Delete(@"C:/Users/Public/DeleteTest"); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } // Delete a directory and all subdirectories with Directory static method... if(System.IO.Directory.Exists(@"C:/Users/Public/DeleteTest")) { try { System.IO.Directory.Delete(@"C:/Users/Public/DeleteTest", true); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } } // ...or with DirectoryInfo instance method. System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:/Users/Public/public"); // Delete this dir and all subdirs. try { di.Delete(true); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } } } 查看原文