forodo
دوشنبه 16 دی 1392, 14:56 عصر
سلام
با کد تمام فولدرها و فایلهای داخل یک فولدر رو در جای دیگری کپی می کنم ولی مثلاً در اینجا خود فولدر The Fast And The Furious 2 کپی نمی شود.
چطور می توانم کد رو دستکاری کنم که خود اون فایل هم کپی بشود.
این هم بگم که اگر بخواهم مسیر را یک level بالا ببرم اونوقت قسمتهای دیگر این فیلم هم هست.
تابع:
private static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
{
// Get the subdirectories for the specified directory.
DirectoryInfo dir = new DirectoryInfo(sourceDirName);
DirectoryInfo[] dirs = dir.GetDirectories();
if (!dir.Exists)
{
throw new DirectoryNotFoundException(
"Source directory does not exist or could not be found: "
+ sourceDirName);
}
// If the destination directory doesn't exist, create it.
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
// Get the files in the directory and copy them to the new location.
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
string temppath = Path.Combine(destDirName, file.Name);
file.CopyTo(temppath, false);
}
// If copying subdirectories, copy them and their contents to new location.
if (copySubDirs)
{
foreach (DirectoryInfo subdir in dirs)
{
string temppath = Path.Combine(destDirName, subdir.Name);
DirectoryCopy(subdir.FullName, temppath, copySubDirs);
}
}
}
روش استفاده:
private void button1_Click(object sender, EventArgs e)
{
DirectoryCopy(@"E:\Films\Z - Film - Together\Action\The Fast And The Furious\The Fast And The Furious 2", @"D:\aaaaaaa", true);
}
با کد تمام فولدرها و فایلهای داخل یک فولدر رو در جای دیگری کپی می کنم ولی مثلاً در اینجا خود فولدر The Fast And The Furious 2 کپی نمی شود.
چطور می توانم کد رو دستکاری کنم که خود اون فایل هم کپی بشود.
این هم بگم که اگر بخواهم مسیر را یک level بالا ببرم اونوقت قسمتهای دیگر این فیلم هم هست.
تابع:
private static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
{
// Get the subdirectories for the specified directory.
DirectoryInfo dir = new DirectoryInfo(sourceDirName);
DirectoryInfo[] dirs = dir.GetDirectories();
if (!dir.Exists)
{
throw new DirectoryNotFoundException(
"Source directory does not exist or could not be found: "
+ sourceDirName);
}
// If the destination directory doesn't exist, create it.
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
// Get the files in the directory and copy them to the new location.
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
string temppath = Path.Combine(destDirName, file.Name);
file.CopyTo(temppath, false);
}
// If copying subdirectories, copy them and their contents to new location.
if (copySubDirs)
{
foreach (DirectoryInfo subdir in dirs)
{
string temppath = Path.Combine(destDirName, subdir.Name);
DirectoryCopy(subdir.FullName, temppath, copySubDirs);
}
}
}
روش استفاده:
private void button1_Click(object sender, EventArgs e)
{
DirectoryCopy(@"E:\Films\Z - Film - Together\Action\The Fast And The Furious\The Fast And The Furious 2", @"D:\aaaaaaa", true);
}