c# - 如何仅按数字访问带有 Pattern ( NUMBER.NAME ) 的目录
问题描述
例如,我有这种模式的目录:
0001.我的文件夹
0002.MyFolder2
0003.MyFolder3
输入只是目录的数量(例如输入 0002 -> 然后在 MyFolder 3 中获取项目)
以及如何按其编号返回目录路径?示例:输入 0002 返回 C:\MyPath\0002.MyFolder2
模式是
数字(点)字符串
所以我需要通过点之前的数字访问任何目录。
解决方案
找出问题的最佳方法是开始谷歌搜索并阅读文档
返回与指定目录中的指定搜索模式匹配的子目录的名称(包括它们的路径)。
searchPattern
可以是文字和通配符的组合,但不支持正则表达式。中允许使用以下通配符说明符searchPattern
。通配符说明符匹配
*
(星号)该位置的零个或多个字符。?
(问号)该位置的零个或一个字符。
所以这里有一个小方法可以帮助你
public string GetFolder(string index, string path)
=> Directory.GetDirectories(path, $"{index}.*")
.FirstOrDefault();
用法
var dir = GetFolder("0001", @"C:\MyHomeWorkFolder");
if(dir != null)
// we have found something
推荐阅读
- android - React Native:如何避免随着时间的推移在不同的本地环境中构建错误
- java - android.support.v4.widget.DrawerLayout 无法实例化 - 实现的损坏的类路径
- css - 如何使用 CSS 为选中的复选框选择标签?
- reactjs - 如何在映射的选择菜单项中显示选定的值
- android - 如何在 Android 项目中 gitignore 特定的 Java 文件或任何文件夹或任何 XML 文件?
- mysql - 什么改变了 ASP.NET Core 连接字符串中的“localhost”?
- javascript - 在移动设备中单击 youtube thumb 时无法播放 Youtube 视频
- c# - 如何找到 vswhere 的 exe 路径?
- python - 为什么 FOR IN 代码在重复时循环遍历数组中的最后一个(Python)?
- android - 如何在 Delphi FMX Android 平台上通过 Sip 和 SipManager 拨打电话?