【问题标题】:Find all subdirectories in path with partial string name查找路径中具有部分字符串名称的所有子目录
【发布时间】:2022-01-10 06:58:39
【问题描述】:

我正在尝试从路径中获取所有子目录,只插入名称的部分字符串。

例如,插入:“@abc”,它应该搜索名称中包含“@abc”的所有目录,并为每个目录执行操作。

    string[] directories = Directory.GetDirectories(@"C:\Users\Usr\Desktop",
                           "@abc",
                           SearchOption.AllDirectories);

    foreach (var item in directories) { 
        using (StreamWriter writer = new StreamWriter(item+@"/test.txt", false))
              writer.Write("test");
    }

上面的示例应该搜索名称中带有“@abc”的所有目录,打开该目录并在其中写入一个txt文件,但是它不起作用。它只搜索确切的文件夹名称

【问题讨论】:

  • 改用*@abc*

标签: c# path streamwriter


【解决方案1】:

我解决了。

我不得不改用目录类型。

DirectoryInfo dir = new DirectoryInfo(@"C:\Users\Usr\Desktop");
DirectoryInfo[] directories = dir.GetDirectories("*" + "@abc" + "*.*");

这样我可以找到所有带有部分名称的子目录

【讨论】:

  • 我有一个建议,您可以像这样string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 以更好的方式获取桌面路径
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多