You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中利用FileSystemInfo实现未找到目标文件夹的提示功能

解决未找到文件夹时的提示问题

嗨,这个需求很好实现,核心就是先检查搜索结果有没有内容就行!因为GetFileSystemInfos没找到匹配项时会返回空数组,咱们可以利用这一点添加提示逻辑。

修改后的完整代码

using System;
using System.IO;
using System.Diagnostics;
// WinForms项目需要引用这个命名空间
using System.Windows.Forms;

// 你的方法内部代码
string ped = datagridview1.SelectedCells[0].Value.ToString();

// 先加个小判断,防止搜索关键词为空导致匹配所有文件夹
if (string.IsNullOrWhiteSpace(ped))
{
    MessageBox.Show("请选择有效的搜索关键词!");
    return;
}

string path = @"C:\";
DirectoryInfo hdDirectoryInWhichToSearch = new DirectoryInfo(path);
FileSystemInfo[] filesAndDirs = hdDirectoryInWhichToSearch.GetFileSystemInfos("*" + ped + "*");

// 关键:先判断是否找到匹配项
if (filesAndDirs.Length == 0)
{
    MessageBox.Show($"未找到包含「{ped}」的文件夹!");
}
else
{
    foreach (FileSystemInfo foundFile in filesAndDirs)
    {
        // 这里不需要额外加\\,FullName已经是完整路径了
        string fullName = foundFile.FullName;
        Process.Start(fullName);
    }
}

几个实用小细节

  • 去掉了原代码里的@"\\",因为foundFile.FullName本身就是标准的完整文件夹路径,多添加反斜杠反而可能导致Process.Start识别出错。
  • 新增了string.IsNullOrWhiteSpace(ped)的判断,避免用户未选中有效单元格时,搜索空字符串匹配C盘所有文件夹的情况。
  • 如果你的项目是控制台应用,把MessageBox.Show替换成Console.WriteLine($"未找到包含「{ped}」的文件夹!");即可。

内容的提问来源于stack exchange,提问作者big Bro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 22:37:51