如何在c#中的app.config中为给定扩展名的多个文件设置目录路径

时间:2013-08-08 11:46:44

标签: c#

我可以使用以下命令在app.config中设置具有给定文件名的特定文件的路径:

<add key="FilePath" value="\C:\Users\Public\Pictures\Sample Pictures\abc.jpg"/>

但是当我想设置“* .jpg”的路径时,即检索带有jpg扩展名的多个文件名时,我遇到了使用通配符*的问题。

我应该如何在appsettings中给出值?

Thanx all !!!

3 个答案:

答案 0 :(得分:1)

当你读入值时,你不能只解析通配符并执行多文件名检索吗?

<add key="FilePath" value="\C:\Users\Public\Pictures\Sample Pictures\*.jpg"/>

string path = ConfigurationManager.AppSettings["FilePath"].ToString();
if(Path.GetFileNameWithoutExtension(path) == "*")
{
   //get multiple files
}

答案 1 :(得分:0)

在app.config文件中写

<add key="FilePath" value="\C:\Users\Public\Pictures\Sample Pictures\"/>

代码

string path = ConfigurationManager.AppSettings["FilePath"].ToString() + filename;

答案 2 :(得分:0)

你可以在app.config中有两个条目。

1. FolderPath = <add key="FilePath" value="C:\Users\Public\Pictures\Sample Pictures\"/>
2. FileType =  <add key="FileType" value="*.jpg"/>

从app.config

中读取值
    string folderPath = ConfigurationManager.AppSettings["FilePath"].ToString();
    string type = ConfigurationManager.AppSettings["FileType"].ToString();

获取文件:

string[] files = Directory.GetFiles(folderPath, type);

或者 app.config中的单个条目

<add key="FilePath" value="C:\Users\Public\Pictures\Sample Pictures\*.jpg"/>

获取文件。

string folderPath = ConfigurationManager.AppSettings["FilePath"].ToString();
var dirName = Path.GetDirectoryName(folderPath);
var fileType = Path.GetFileName(folderPath);
var files = Directory.GetFiles(dirName, fileType);