【发布时间】:2011-12-13 00:50:49
【问题描述】:
我正在创建一个应用程序,我们可以在其中通过网络选择目标计算机,并将选定的源文件复制到特定文件夹中。本质上,它的目的是在单台机器有多个应用服务器的应用服务器上工作,在这种情况下是 apache tomcat。
目前,我的代码能够将一个源文件处理到特定目标。它为该机器上存在的所有 tomcat 文件夹(tomcat1、tomcat2.. 等)执行此操作
我正在使用 directoryinfo 来选择文件夹列表。
DirectoryInfo diTom = new DirectoryInfo(txtTomcat.Text);
其中 txtTomcat.text 是 tomcat 文件夹的网络路径。然后我正在使用 foreach 循环
foreach (DirectoryInfo subDir in diTomDirs)
因此,对于目录 info 中的每个 tomcat 条目,它执行一个简单的 File.Copy 代码,将文件复制到为每个 tomcat 指定的文件夹内。
现在,我想扩展我的应用程序功能以考虑源文件夹,而不仅仅是文件。
例如我有文件夹 A,包含 file1.txt 和文件夹 B。文件夹 B 又包含 file2.txt 和 file3.txt。类似的结构也会在目标 tomcat 上退出,但其他文件夹和文件很少。
我想将源文件夹A作为源,它应该执行文件复制的现有代码但是现在,将文件从源文件夹复制到目标上的相应文件夹,即A(源)-> A(服务器)和从 B(源)到 B(服务器)的文件。
我希望我没有让它听起来太混乱.. :(
我想这将是我需要调整但无法弄清楚如何调整的 foreach 逻辑。
有什么线索吗?
非常感谢,
阿比
【问题讨论】:
-
你是说你想要一个递归副本吗?
-
为什么要写这个?为什么不直接调用 Robocopy(尤其是从 Server 2008 开始的操作系统附带它)?
-
看看微软同步框架