如何使用C#代碼獲取所有源安全子文件夾? 我們也希望獲得子文件夾中的所有子文件夾和文件夾。 例如,TestProject有2個文件夾,文件夾a和b。和一個子文件夾a1。源安全子文件夾
提取的所有路徑: 1. TestProject - >一 2. TestProject - > A - > A1 3. TestProject - >乙
如何使用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();
}
}
}