このようなディレクトリに、"C:/Documents and Settings/Admin/Desktop/test/"
Microsoft Word Office ファイルが多数含まれています。アプリケーションとボタンに textBox があります。ファイル名はこんな感じDate_Name_Number_Code.docx
です。ユーザーはこのオプションのいずれかを入力する必要があります。私の目的は、ファイル名全体でユーザーエントリを検索し、ファイルを見つけて開くことです。ありがとうございました
質問する
15344 次
4 に答える
8
string name = textBox2.Text;
string[] allFiles = System.IO.Directory.GetFiles("C:\\");//Change path to yours
foreach (string file in allFiles)
{
if (file.Contains(name))
{
MessageBox.Show("Match Found : " + file);
}
}
于 2012-08-22T06:37:27.167 に答える
5
こんばんは
これが私が使用したアプローチです。テキストボックス (txtSearch) とボタン (cmdGo) をフォームに追加し、適切なイベントを接続する必要があります。次に、次のコードを追加できます。
private void cmdGo_Click(object Sender, EventArgs E)
{
// txtSearch.Text = "*.docx";
string[] sFiles = SearchForFiles(@"C:\Documents and Settings\Admin\Desktop\test", txtSearch.Text);
foreach (string sFile in sFiles)
{
Process.Start(sFile);
}
}
private static string[] SearchForFiles(string DirectoryPath, string Pattern)
{
return Directory.GetFiles(DirectoryPath, Pattern, SearchOption.AllDirectories);
}
このコードはオフになり、ルート ディレクトリ (必要に応じて設定できます) とその下のすべてのディレクトリで、テキスト ボックスから提供される検索パターンに一致するファイルを検索します。このパターンを好きなように変更できます。
- *.docx は、拡張子が .docx のすべてのファイルを検索します
- *foogle* は、foogle を含むすべてのファイルを検索します。
これが役立つことを願っています。
乾杯!
于 2012-08-22T07:02:40.987 に答える
3
使用できますDirectory.GetFiles($path$).Where(file=>file.Name.Contains($user search string$)
。
あなたのために働くはずです。
于 2012-08-22T06:35:52.260 に答える
2
ディレクトリ内のパターンを検索するDirectory.GetFiles(string, string)を使用できます。したがって、あなたの場合、これは次のようになります。
string[] files =
Directory.GetFiles("C:/Documents and Settings/Admin/Desktop/test/",
"Date_Name_Number_Code.docx");
次に、files
配列を調べて、探しているものを探します。
于 2012-08-22T07:12:18.137 に答える