-1

次を使用して、app.configで特定のファイルのパスを特定のファイル名で設定できます。

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

しかし、「*.jpg」のパスを設定したい場合、つまり jpg 拡張子を持つ複数のファイル名を取得する場合、ワイルドカード文字 * を使用する際に問題に直面しています。

appsettings でどのように値を指定すればよいですか?

みんなありがとう!!!

4

3 に答える 3

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
}
于 2013-08-08T11:49:38.780 に答える
0

app.config には 2 つのエントリを含めることができます。

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);
于 2013-08-08T12:26:48.817 に答える