我正在服务器上创建一个子目录列表,这些子目录都有一个共同的子文件夹名称。服务器不是由驱动器号标识,而是由名称标识。所以,我目前的代码是这样的:
List<string> directories = new List<string>();
directories.Add(@"\\homeserv\Data\CompanyA\ABCD");
directories.Add(@"\\homeserv\Data\CompanyB\ABCD");
...
directories.Add(@"\\remoteserv\data\CompanyC\Eastern\ABCD");
只有少数几个子目录,这是可以的,但如果我们有数百个子目录呢?我们不想将所有这些子目录硬编码到程序中。有没有办法搜索服务器上所有子目录的相似名称(例如:“ABCD”),并将所有这些子目录名称放入List?
我找到了以下代码,但它似乎需要一个驱动器号(例如:“C:\”并且不使用服务器名称(例如:“\ homeserv”)。
string[] dirs = Directory.GetFiles(@"\\homeserv\", "ABCD");
谢谢!
答案 0 :(得分:0)
您可能必须至少提供服务器名称和共享名称 - 使用Directory.GetFiles
的示例仅提供服务器名称。
尝试:
using System.IO;
var remoteShare = new DirectoryInfo(@"\\homeserv\Data");
var subDirectories = remoteShare.GetDirectories();