C#搜索和文件名
问题描述:
我想寻找相连接的现有逻辑驱动器中的文件获取路径,但是当我这样做,我结束了一个字符串[],我真的不知道该如何处理。 .. 所以我想在这里做什么,是在“硬盘”驱动器通常的格式FAT32或NTFS ......搜索(请告诉我,如果有经常使用的任何其他人),然后我得到该驱动器的“字母”,并尝试从那里搜索csgo.exe文件。你可以大概判断出休息...C#搜索和文件名
这里是我的代码...
if (d.DriveFormat.ToString() == "FAT32" || d.DriveFormat.ToString() == "NTFS")
{
string StartDir = d.RootDirectory.ToString();
String[] csgofile = Directory.GetFiles(StartDir, "csgo.exe", SearchOption.TopDirectoryOnly);
foreach (String file in csgofile)
{
if (File.Exists(file))
{
MessageBox.Show("Drive: " + StartDir + ", CS:GO Path: " + file, "Path Found!");
}
}
}
答
你的代码是正确的,你最终会在字符串[],因为这是你对这个声明的变量行:
String[] csgofile = Directory.GetFiles(StartDir, "test.txt", SearchOption.TopDirectoryOnly);
如果文件不存在,你调试它,它看起来像
csgofile|{string[0]}
如果它变得牛逼他成功地文件,这将是:
csgofile|{string[1]}
请注意,你只是在寻找的TopDirectoryOnly文件,以便确保该文件确实存在于您的驱动器,你正在寻找。
+0
谢谢!帮了很多 – Dotch
+0
不客气。您也可以接受它作为对其他人的参考。 @Dotch –
您还没有真正指出你的问题是什么。 几个百分点 - 检查你的DriveFormat时做string.Equals而不是“==”。 没有点,如果File.Exists,你知道它确实像你刚才已经从现场搜索给它检查。 您可以检查数组的长度返回,如果它不是空的,你知道你有你需要的文件。 现在,请确实问问题/状态的问题,我们会尽力帮助。 –