System.IO.Directory.GetFiles 特定文件名
System.IO.Directory.GetFiles for specific file name
在我的本地文件夹中,包含文件。
例如 TB2.8.5_asd_asd 和 TB2.9.5_asd_asd。我怎样才能只获取名称以 TB2.6.5_
开头的文件
string[] dirs = System.IO.Directory.GetFiles(ConfigurationManager.AppSettings[@"LocalFolderPath"], "*" + ConfigurationManager.AppSettings["LocalFilesExtension"]).Where(s => s.StartsWith("TB2.6.5_")).ToArray();
Directory.GetFiles()
方法允许您将搜索模式指定为其输入参数之一。您可以利用它来完成您的要求。所以代码将是这样的:
string PathToDirectory=Path.Combine(ConfigurationManager.AppSettings[@"LocalFolderPath"], ConfigurationManager.AppSettings[@"LocalFilesExtension"];
string searchPattern="TB2.6.5_*.*";
string[] dirs = System.IO.Directory.GetFiles(PathToDirectory,searchPattern,SearchOption.TopDirectoryOnly).ToArray();
将SearchOption
改为AllDirectories
,如果你想将搜索扩展到子目录,你可以根据需要更改searchPattern。
根据您的评论更新: Illegal characters in path
.
这将取决于您在配置中存储的值。即,AppSettings["LocalFilesExtension"]
如果有 \
用作路径分隔符,则不需要在 i\since 之前包含 @
它会将 \
转换为 \\
如果Config中只有一个\
那么使用@
可以使用filter参数来设置
Directory.GetFiles(String, String)
即
"filename.exe" = filters for filename.exe
"filename.*" = filters all files with the name filename
"*filename*" = contains filename
在我的本地文件夹中,包含文件。 例如 TB2.8.5_asd_asd 和 TB2.9.5_asd_asd。我怎样才能只获取名称以 TB2.6.5_
开头的文件string[] dirs = System.IO.Directory.GetFiles(ConfigurationManager.AppSettings[@"LocalFolderPath"], "*" + ConfigurationManager.AppSettings["LocalFilesExtension"]).Where(s => s.StartsWith("TB2.6.5_")).ToArray();
Directory.GetFiles()
方法允许您将搜索模式指定为其输入参数之一。您可以利用它来完成您的要求。所以代码将是这样的:
string PathToDirectory=Path.Combine(ConfigurationManager.AppSettings[@"LocalFolderPath"], ConfigurationManager.AppSettings[@"LocalFilesExtension"];
string searchPattern="TB2.6.5_*.*";
string[] dirs = System.IO.Directory.GetFiles(PathToDirectory,searchPattern,SearchOption.TopDirectoryOnly).ToArray();
将SearchOption
改为AllDirectories
,如果你想将搜索扩展到子目录,你可以根据需要更改searchPattern。
根据您的评论更新: Illegal characters in path
.
这将取决于您在配置中存储的值。即,AppSettings["LocalFilesExtension"]
如果有 \
用作路径分隔符,则不需要在 i\since 之前包含 @
它会将 \
转换为 \\
如果Config中只有一个\
那么使用@
可以使用filter参数来设置
Directory.GetFiles(String, String)
即
"filename.exe" = filters for filename.exe
"filename.*" = filters all files with the name filename
"*filename*" = contains filename