源安全子文件夹

问题描述:

如何使用C#代码获取所有源安全子文件夹? 我们也希望获得子文件夹中的所有子文件夹和文件夹。 例如,TestProject有2个文件夹,文件夹a和b。和一个子文件夹a1。源安全子文件夹

提取的所有路径: 1. TestProject - >一 2. TestProject - > A - > A1 3. TestProject - >乙

如果要列出所有的子目录只包含文件,然后您可以使用此

Public static IEnumerable<string> GetSubdirectoriesContainingOnlyFiles(string path) 
     { 
      return from subdirectory in Directory.GetDirectories(path, "*", SearchOption.AllDirectories) 
        where Directory.GetDirectories(subdirectory).Length == 0 
        select subdirectory; 
     } 

但如果你想只是想通过所有的目录解析&子目录 那么你可以使用这个

static void Main(string[] args) 
    { 
     DirSearch(@"c:\temp"); 
     Console.ReadKey(); 
    } 

    static void DirSearch(string dir) 
    { 
    try 
     { 
     foreach (string f in Directory.GetFiles(dir)) 
     Console.WriteLine(f); 
     foreach (string d in Directory.GetDirectories(dir)) 
     { 
      Console.WriteLine(d); 
      DirSearch(d); 
     } 

    } 
    catch (System.Exception ex) 
    { 
     Console.WriteLine(ex.Message); 
    } 
    } 

我得到这个工作是这样

using System; 
using System.Collections.ObjectModel; 
using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.VersionControl.Client; 

using System.IO; 

namespace TFS_Path_Extraction 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      TeamFoundationServer server = new TeamFoundationServer("<TFS path of folders you want>"); 
      VersionControlServer version = server.GetService(typeof(VersionControlServer)) as VersionControlServer; 

      ItemSet items = version.GetItems(@"$\", RecursionType.Full); 
      foreach (Item item in items.Items) 
      { 
       if (item.ItemType == ItemType.Folder) 
       { 
        System.Console.WriteLine(item.ServerItem); 
       } 
      } 
      Console.Read(); 
     } 
    } 
}