ফাইল কপি করার জন্য C#-তে File.Copy মেথড আছে। এর ২টি ওভারলোড:
Copy(String, String)- এক্সিস্টিং ফাইল নতুন ফাইলে কপি করে। একই নামের ফাইল ওভাররাইট করার অনুমতি নেই।Copy(String, String, Boolean)- এক্সিস্টিং ফাইল নতুন ফাইলে কপি করে। থার্ড প্যারামিটারtrueহলে ওভাররাইট অনুমোদিত।
Directory.GetFiles সোর্স ফোল্ডারের ফাইলগুলো পেতে ব্যবহৃত হয়।
উদাহরণ
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();
}
আউটপুট
-------------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
নোট: ডেস্টিনেশন ফোল্ডার পাথের শেষে ব্যাকস্ল্যাশ (\\) থাকা ভালো। Path.Combine ব্যবহার করা সেফার।