2010-09-08 60 views
0

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


回答

0

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

  1. 递归枚举所有的文件和文件夹的顶级目录。
  2. 对于您枚举的每个项目,请在目标目录中创建文件夹,或将源文件复制到目标目录层次结构。如果调用与FullDirList("C:\MyProject\", *.*),它会枚举所有文件

    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); 
        } 
    } 
    

下面将列举所有的文件和文件夹的目录中。

要创建目标文件夹或复制文件,请将呼叫更改为Console.WriteLine,以便它们执行相应的操作。所有你需要在目标文件或文件夹名称中更改的是根文件夹名称(也就是说,如果从C:\ MyProject \复制到C:\ MyProjectCopy \,那么目标文件只是f.FullName与C :\ MyProject \由C:\ MyProjectCopy取代)。

+1

如果您只想复制已签出的文件,则添加一个条件以仅复制可写文件(签入文件将文件的只读属性从文件中删除) – 2010-09-08 21:53:18

相关问题