我想将所有文件和子目录(包括文件)移动到同一文件夹的另一个子目录。
e.g。我有一个名为abcd的文件夹,我有一个文件aa和子文件夹bb,cc,dd。 所以我想在与abcd \ backup相同的文件夹中创建另一个子目录 并将aa,bb,cc,dd,即所有文件和文件夹移动到备份文件夹。
答案 0 :(得分:1)
这将非常简单。
Directory.Move("SourcePath", "DestinationPath");
处理源文件夹中的所有目录,并使用上述语法为每个文件夹使用forloop或foreach移动到目标文件夹。
答案 1 :(得分:0)
string source = @"d:\test";
string dest = @"d:\move\";
DirectoryInfo dirInfo = new DirectoryInfo(dest);
if (dirInfo.Exists == false)
Directory.CreateDirectory(dest);
DirectoryInfo dir = new DirectoryInfo(source);
DirectoryInfo[] dirs = dir.GetDirectories();
string[] files = Directory.GetFiles(source);
Int32 i = dirs.Count() + files.Count();
// for progress bar
foreach (string file in files)
{
try
{
string name = Path.GetFileName(file);
string destFile = Path.Combine(dest, name);
// skip some file
if (name != "file") File.Move(file, destFile);
}
catch
{
}
}
foreach (DirectoryInfo subdir in dirs)
{
string temppath = Path.Combine(dest, subdir.Name);
if (!Directory.Exists(temppath))
try
{
Directory.Move(subdir.FullName, temppath);
}
catch
{
}
}