-1

自作の Windows Explorer の検索機能に取り組んでいます。私はそれをするために使用Directory.GetFiles(string path, string searchPattern, searchOption searchOption)します。私の問題は、私が電話したときです:

string searchPattern = '"' + searchBox.Text + '"'; // searchPattern = "duck"
string path = @"D:\test";
string[] searchResults = Directory.GetFiles(path, searchPattern, System.IO.SearchOption.AllDirectories);

それは例外をスローします:

「パスに不正な文字があります。」

これはファイル構造です:

D:\
---test\ (Folder)
-------duck.txt (File)
4

2 に答える 2

4

Directory.GetFiles正規表現をサポートしていません。ただし、少数の特殊な「ワイルドカード」文字をサポートしています。MSDN から:

*0 個以上の文字。
?正確に 0 文字または 1 文字。

代わりにこれを試してください:

string searchPattern = '*' + searchBox.Text + '*'; // searchPattern = *duck*
string path = @"D:\test";
string[] searchResults = Directory.GetFiles(path, searchPattern, System.IO.SearchOption.AllDirectories);
于 2013-10-16T02:55:08.230 に答える
0

パスに不正な文字が含まれています。」というメッセージが表示されます。"検索パターンに文字を指定したため

で試してください

string searchPattern ="duck.txt"; 

必要なファイルが見つかります

検索パターンとしてファイル名のみを指定する必要がある場合

string searchPattern =searchBox.Text +".txt"; 

検索テキストを含むファイルを取得する必要がある場合は、使用できます

string searchPattern ="*" +searchBox.Text +"*"; 
于 2013-10-16T03:14:12.807 に答える