【发布时间】:2016-04-21 11:43:56
【问题描述】:
保留文件夹的整个结构以便以后可以访问以进行复制/删除的最简单方法是什么?截至目前,以下是我的操作方式,但它不会在子目录中保留任何内容,多个不同的文件可以共享这些内容,因此如果不至少再次复制根目录,则无法删除整个子目录.
//get root directories located in mods folder
List<string> rootDirectories = new List<string>();
rootDirectories = Directory.GetDirectories("mods", "*").ToList();
for (int i = 0; i < rootDirectories.Count(); i++)
{
Console.WriteLine("Root Directory: " + rootDirectories[i]);
}
//get subdirectories from each of those root directories
List<List<string>> subDirectories = new List<List<string>>();
for (int i = 0; i < rootDirectories.Count(); i++)
{
List<string> temp = new List<string>();
temp = Directory.GetDirectories(rootDirectories[i], "*").ToList();
//for (int j = 0; j < temp.Count(); j++)
//{
// temp[j] = Path.GetFileName(temp[j]);
//}
subDirectories.Add(temp);
}
for (int i = 0; i < rootDirectories.Count(); i++)
{
for (int j = 0; j < subDirectories[i].Count(); j++)
{
Console.WriteLine("Sub Directory of " + rootDirectories[i] + ": " + subDirectories[i][j]);
}
}
//get mod file(s) from each root folder
List<List<string>> files = new List<List<string>>();
for (int i = 0; i < rootDirectories.Count(); i++)
{
List<string> temp = new List<string>();
temp = Directory.GetFiles(rootDirectories[i]).ToList();
for (int k = 0; k < temp.Count(); k++)
{
temp[k] = Path.GetFileName(temp[k]);
}
files.Add(temp);
for (int j = 0; j < temp.Count(); j++)
{
Console.WriteLine("File in " + rootDirectories[i] + ": " + temp[j]);
}
}
//create new ModItem
//add new ModItem to mods
for (int i = 0; i < rootDirectories.Count(); i++)
{
try
{
mods.Add(new ModItem(rootDirectories[i], subDirectories[i], files[i]));
}
catch (Exception e)
{
}
}
for (int i = 0; i < mods.Count(); i++)
{
Console.WriteLine("Check to make sure the ModItem was added: " + mods[i].getRootDirectory());
}
输出
Root Directory: mods\Blood Overhaul
Root Directory: mods\Cleaning
Root Directory: mods\SM Overhaul
Sub Directory of mods\Blood Overhaul: mods\Blood Overhaul\Meshes
Sub Directory of mods\Blood Overhaul: mods\Blood Overhaul\Textures
Sub Directory of mods\SM Overhaul: mods\SM Overhaul\Materials
Sub Directory of mods\SM Overhaul: mods\SM Overhaul\Meshes
Sub Directory of mods\SM Overhaul: mods\SM Overhaul\Textures
File in mods\Blood Overhaul: BloodOverhaul.file
File in mods\Cleaning: Cleaning.file
File in mods\SM Overhaul: SMOverhaul.file
Check to make sure the ModItem was added: mods\Blood Overhaul
Check to make sure the ModItem was added: mods\Cleaning
Check to make sure the ModItem was added: mods\SM Overhaul
如果我需要添加更多上下文,请告诉我,这在过去几天一直困扰着我,我想解决它。
【问题讨论】: