0

我有一个名为OLD. 它里面有一个目录结构,如:

Old  
---DSL  
---------CI  
------------AppFolder1    
------------AppFolder2  
---------------------------FUN2    
--------CA  
------------AppFolder1  

每个文件夹内可能有也可能没有文件。

我有一个名为NEW的文件夹,其中包含更新,并且取决于更改,其中包含适当的目录结构。关键是它将与 相同OLD。例如:

NEW  
---DSL  
---------CI  
------------AppFolder2  
---------------------------FUN2  
--------CA    

如您所见,目录结构(包括文件夹名称)相同。我希望所有文件都NEW替换OLD.

请为我提供一个起点。

4

2 回答 2

1

我创建了一个Old具有以下结构的文件夹:

以老根C:\Old为例。

-Old
--CI
---AppFolder1
---AppFolder2

里面什么New都没有。

然后运行我设置的控制台应用程序NewRootC:\New得到:

-New
--CI
---AppFolder1
---AppFolder2

不确定这是否是您正在寻找的那种东西 - 如果没有建议您想以不同的方式做:)

private static void SyncDirectories(string oldRoot, string newRoot)
{
  CreateDirectoriesRecursive(Directory.GetDirectories(oldRoot), newRoot);
}
private static void CreateDirectoriesRecursive(string[] oldDirectories, string root)
{
  foreach (string oldDirectory in oldDirectories)
  {
    string directoryToCreate = root + @"\" + new DirectoryInfo(oldDirectory).Name;
    if (!Directory.Exists(directoryToCreate))
      Directory.CreateDirectory(directoryToCreate);
    if (Directory.GetDirectories(oldDirectory).Count() > 0)
      CreateDirectoriesRecursive(Directory.GetDirectories(oldDirectory), directoryToCreate);
  }
}
于 2012-08-30T08:54:23.117 回答
0

您可以使用FileSystemWatcher类来控制 OLD 目录中的更改,以将它们重复到 NEW 目录中。

此外,您也可以将此手表放在 NEW 上,以管理那里不需要的访问。

于 2012-08-30T08:45:25.000 回答