0
我有一個Winforms應用程序。其中我有一個Folderbrowser,textbox1和兩個按鈕控件。從子目錄檢索特定文件類型
在我的文件夾裏面我有很多子文件夾,每個hahing都有更多的子文件夾。我想從一個命名的子目錄中選擇文件類型,並將其命名爲
string[] dirs =
Directory.GetDirectories(textBox1.Text, "p*", SearchOption.TopDirectoryOnly);
並打印文件類型。我面臨的問題是我從根目錄獲取文件而不是從子目錄獲取文件。
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowserDlg = new FolderBrowserDialog();
folderBrowserDlg.ShowNewFolderButton = true;
DialogResult dlgResult = folderBrowserDlg.ShowDialog();
if (dlgResult.Equals(DialogResult.OK))
{
textBox1.Text = folderBrowserDlg.SelectedPath;
Environment.SpecialFolder rootFolder = folderBrowserDlg.RootFolder;
}
}
private void button3_Click(object sender, EventArgs e)
{
var file = System.IO.Directory.EnumerateFiles(textBox1.Text, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".html") || s.EndsWith(".mp3") || s.EndsWith(".png"));
string[] files = Directory.GetFiles(textBox1.Text);
string[] dirs = Directory.GetDirectories(textBox1.Text,"file");
foreach (var a in dirs)
{
listBox1.Items.Add(a);
}
foreach (string item2 in dirs)
{
FileInfo f = new FileInfo(item2);
listBox1.Items.Add(f.Name);
}
foreach (string item in files)
{
FileInfo f = new FileInfo(item);
listBox1.Items.Add(f.Name);
}
}
Eh'SearchOption.TopDirectoryOnly'表示您只想搜索頂部目錄。看起來你想改爲使用SearchOption.AllDirectories選項。 –