.NET在一个目录下的所有文件夹中找到文件

问题描述:

我相信这是一个直截了当的问题,希望我不会冒烟。 编写代码,找到C盘.NET在一个目录下的所有文件夹中找到文件

If IO.File.Exists("C:\text.txt") Then 

     MessageBox.Show("Found text file") 
    Else 

     MessageBox.Show("Not Found") 
End If 

命名的text.txt 文件“C:\的text.txt”位于子文件夹时,无法找到。 应该使用什么语法?

我花了我的时间找到解决方案,因此在这里问一个简单的问题。

谢谢!

+0

看看如果你读过了'File.Exists文档“那么你已经知道答案了。如果你还没有阅读文档,为什么你没有阅读文档?帮助菜单不在VS中进行装饰。如果您需要某种类型或方法的帮助,请使用“帮助”菜单打开该类型或方法的文档。只有在这样做之后,如果你需要他们,你应该考虑其他信息来源。 – jmcilhinney

+0

这是C#但是https://*.com/questions/3994448/how-to-check-if-a-specific-file-exists-in-directory-or-any-of-its-subdirectories –

+0

@jmcilhinney谢谢你的答复,我已经阅读File.Exists文件,似乎要找到该文件,它必须指向确切的位置(子文件夹)。我仍然是编程的新手,因此仍然不确定找到解决方案的最佳方式。 – Tim

您可以使用Directory.GetFiles (String, String, SearchOption)方法返回与指定目录中指定搜索模式相匹配的文件(包括其路径)的名称,使用值来确定是否搜索子目录。

例如:

If System.IO.Directory.GetFiles("C:\Users\You\Desktop", "file.txt", IO.SearchOption.AllDirectories).Length > 0 Then 
    MsgBox("Found!") 
Else 
    MsgBox("Not found!") 
End If 
+0

嗨,我实施了你的建议Directory.GetFiles(@“C:\”,“text.txt”,SearchOption.AllDirectories)它给了预期的“@”表达式上的错误。对此有何想法?谢谢! – Tim

+0

@Tim:删除'@',它只适用于C#代码。 –

+0

@VisualVincent嗨,看起来get目录不能进入if语句....“字符串的1维数组不能转换为布尔值”...请赐教。谢谢。 – Tim

试试这个

string curFile = @"c:\temp\test.txt"; 
Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist."); 

或在此链接

How to check if a file exists in a folder?