复制所有结帐文件

时间:2010-09-08 19:49:10

标签: c# .net tfs tfs2010 tfs2008

我正在使用Team foundation系统,并且我要求使用C#将所有签出文件复制到本地文件夹以及相同的文件夹结构。我怎样才能做到这一点?


1 个答案:

答案 0 :(得分:0)

我不知道“结帐文件”是什么意思,但是如果你想复制一个目录,你必须:

  1. 递归枚举顶级目录中的所有文件和文件夹。
  2. 对于您枚举的每个项目,请在目标目录中创建文件夹,或将源文件复制到目标目录层次结构。
  3. 以下内容将枚举目录中的所有文件和文件夹:

    static void FullDirList(DirectoryInfo dir, string searchPattern)
    {
      Console.WriteLine("Directory {0}", dir.FullName);
      // list the files
      foreach (FileInfo f in dir.GetFiles(searchPattern))
      {
        Console.WriteLine("File {0}", f.FullName);
      }
      // process each directory
      foreach (DirectoryInfo d in dir.GetDirectories())
      {
        FullDirList(d, searchPattern);
      }
    }
    

    如果您使用FullDirList("C:\MyProject\", *.*)调用它,它将枚举所有文件。

    要创建目标文件夹或复制文件,请将调用更改为Console.WriteLine,以便他们执行相应的操作。您必须在目标文件或文件夹名称中更改的是根文件夹名称(即,如果您从C:\ MyProject \复制到C:\ MyProjectCopy \,则目标文件只是{{1}使用C:\ MyProject \替换为C:\ MyProjectCopy)。