Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để sao chép các tập tin vào một thư mục trong C #?

Để sao chép tệp, C # cung cấp phương thức Tệp. Sao chép

Tập tin. Bản sao có 2 quá tải

Sao chép (Chuỗi, Chuỗi) -Sao chép một tệp hiện có vào một tệp mới. Không được phép ghi đè tệp có cùng tên.

Sao chép (Chuỗi, Chuỗi, Boolean) Sao chép một tệp hiện có sang một tệp mới. Cho phép ghi đè tệp cùng tên.

Directory.GetFiles trả về tên của tất cả các tệp (bao gồm cả đường dẫn của chúng) phù hợp với mẫu tìm kiếm được chỉ định và tìm kiếm các thư mục con theo tùy chọn.

Ví dụ

static void Main (string[] args) {
   string rootPath = @"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1";

   var searchSourceFolder = Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly);
   Console.WriteLine("-------------Source Folder-------------");
   foreach (string file in searchSourceFolder){
      Console.WriteLine(file);
   }

   string destinationFolder = @"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\";

   var destinationFolderFiles = Directory.GetFiles(destinationFolder, "*.*",    SearchOption.TopDirectoryOnly);
   Console.WriteLine("-------------Destination Folder Before Copying-------------");
   foreach (string file in destinationFolderFiles){
      Console.WriteLine(file);
   }

   string[] files = Directory.GetFiles(rootPath);

   foreach (string file in files){
      File.Copy(file, $"{destinationFolder}{ Path.GetFileName(file) }");
   }
   Console.WriteLine("-------------After Copying-------------");

   var destinationFolderAfterCopyingFiles = Directory.GetFiles(destinationFolder, "*.*",    SearchOption.TopDirectoryOnly);

   foreach (string file in destinationFolderAfterCopyingFiles){
      Console.WriteLine(file);
   }
   Console.ReadLine ();
}

Đầu ra

-------------Source Folder-------------
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1\TestFolderMain1.txt
-------------Destination Folder Before Copying-------------
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt
-------------After Copying-------------
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain1.txt
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt