【发布时间】:2012-12-10 15:30:56
【问题描述】:
我在尝试通过搜索文件结构来创建列表时遇到问题。正在尝试制作一个可以运行并执行此操作的基本 c# 控制台程序。
我的结构是这样组织的。
我的网络\
X1\
用户\
(很多很多用户文件夹)\
搜索特定的子文件夹 \
在此子文件夹中的任何文件夹的文本文件中列出一个列表
所以我必须能够搜索每个用户文件夹,然后检查一个文件夹(每次都相同)然后使用以下格式列出该子文件夹中找到的文件夹
用户名(用户文件夹的名称)>>特定文件夹中的文件夹名称。
已经很长时间了,因为我不得不尝试在文件结构中进行任何搜索,所以对此非常空白。
**************** 编辑!!!!!
感谢您的信息和链接。现在正在研究这个,但想知道这是否有意义并且会起作用。在我确定它看起来不会搞砸之前,不想只是测试它。
TextWriter outputText = new StreamWriter(@"C:\FileList.txt", true);
outputText.WriteLine("Starting scan through user folder");
string path = @"\\X1\users";
string subFolder = "^^ DO NOT USE - MY DOCS - BACKUP ^^";
string [] user_folders = Directory.GetDirectories(path);
foreach (var folder in user_folders)
{
string checkDirectory = folder + "\\" + subFolder;
if (Directory.Exists(checkDirectory) == true)
{
string [] inner_folders = Directory.GetDirectories(checkDirectory);
foreach (var folder2 in inner_folders)
{
outputText.WriteLine(folder2);
}
}
}
outputText.WriteLine("Finishing scan through user folder");
outputText.Close();
已修复并正常工作!!!!必须更改字符串 [] 行,使其成为 .GetDirectories 而不是 .GetFiles!
【问题讨论】:
-
查看
Directory和DirectoryInfo课程,它们应该会对您有所帮助。 -
我相信我在下面发布的第二种方法会比手动遍历所有用户更快
-
我修改后的代码显然根本不起作用。我认为这可能是我的原始路径未被引用。此路径位于随机网络驱动器上。编辑我现在拥有的内容。
标签: c# file-structure