我可以仅通过文件名找到文件(即扩展名未知)

时间:2010-07-27 19:38:27

标签: c# vb.net .net-2.0 asp.net-2.0

我们有一个网络文件夹,它是由不同服务器处理的csv文件的登陆位置。我们改变csv文件的扩展名以匹配处理文件的服务器;例如,Server1处理的名称为FooBar的文件将以名称FooBar.Server_1登陆网络共享。

我可以获得的信息是文件名:FooBar以及共享的路径。我无法保证扩展,因为有多个服务器将csv文件发送到网络共享。我保证共享中只有一个FooBar文件。

.net 2.0中是否有一个方法可用于获取仅使用路径和文件名的csv扩展?或者我需要自己制作?

4 个答案:

答案 0 :(得分:4)

Directory.GetFiles(NETWORK_FOLDER_PATH, "FooBar.*")[0]将为您提供完整的路径。

Path.GetExtension将为您提供扩展程序。

如果你想把它们放在一起:

string extension = Path.GetExtension(
    Directory.GetFiles(NETWORK_FOLDER_PATH, "FooBar.*")[0]);

答案 1 :(得分:3)

这应该可以解决问题:

string[] results = System.IO.Directory.GetFiles("\\\\sharepath\\here", "FooBar.*", System.IO.SearchOption.AllDirectories);

if(results.Length > 0) {
    //found it
    DoSomethingWith(results[0]);
} else {
    // :(
}

答案 2 :(得分:2)

DirectoryInfo di = new DirectoryInfo(yourPath)
{
  FileInfo[] files = di.GetFiles(FooBar.*);
}

答案 3 :(得分:1)

如果您知道该文件所在的目录,可以使用DirectoryInfo.GetFiles("SearchPattern")DirectoryInfo.GetFiles("FooBar.*")