기본적으로 지정된 경로에 foreach 폴더를 열려고 시도합니다. 예 : - 지정 경로에 "A"라는 폴더가 있고이 폴더 안에 "B1" "B2" "B3"이라는 다른 폴더가 있으므로 그 폴더 안에 "C"라는 다른 폴더가 있습니다. foreach "C"폴더에 "D"라는 파일이 있습니다. "B"폴더를 콤보 상자에 넣고 "D"파일을 열 폴더를 선택하려고합니다.C# 파일 foreach 폴더 찾기
A > B1 > C > D.txt
> B2 > C > D.txt
> B3 > C > D.txt
등등. 이 문제를 해결하도록 도와주세요.
var tfs =
TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(path));
var vcs = tfs.GetService<VersionControlServer>();
private void PopulateTreeView()
{
var tfs =
TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs2012:8080/tfs/DefaultCollection_2010/"));
var vcs = tfs.GetService<VersionControlServer>();
var workspace = vcs.QueryWorkspaces(workspaceName, vcs.AuthorizedUser, Environment.MachineName)[0];
_workspace = workspace;
tvWksNavigator.Nodes.Clear();
var info = new DirectoryInfo(workspace.Folders[10].LocalItem);
if (info.Exists)
{
var rootNode = new TreeNode(info.Name) { Tag = info };
TreeNode bNode;
DirectoryInfo[] subSubDirs;
foreach (var subDir in info.GetDirectories().Where(c => c.Name=="Media"))
{
bNode = new TreeNode(subDir.Name, 0, 0);
bNode.Tag = subDir;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, bNode);
}
rootNode.Nodes.Add(bNode);
}
tvWksNavigator.Nodes.Add(rootNode);
}
}
private void GetDirectories(DirectoryInfo[] subDirs,
TreeNode nodeToAddTo)
{
TreeNode aNode;
DirectoryInfo[] subSubDirs;
foreach (var subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
aNode.ImageKey = "folder";
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
}
트리보기를 만들었지 만 각 폴더의 특정 위치를 가져올 수 없습니다. – user1415791
코드를 표시하십시오. – DaveDev
네, 지금까지 가지고있는 것을 보여주십시오. 또한 폴더 구조를 항상 알고 있습니까? B4가 있을까요? 트리가 C를 넘어 디렉토리로 확장 될 수 있습니까? – MattR