更新时间:2023-09-25 20:31:58
您好,我尝试使用以下代码创建一个小的POC(概念证明):
考虑以下文件夹结构:
FolderA
| _ A1.txt
| _ A2.txt
| _ FolderB
| _ B1.txt
| _ B2.txt
| _ B3.txt
Hi, I tried to create a small POC (Proof of concept) using the following code:
Considering the following folder structure:
FolderA
|_ A1.txt
|_ A2.txt
|_ FolderB
|_ B1.txt
|_ B2.txt
|_ B3.txt
string[] files = Directory.GetFiles(@"D:\FolderA");
ListBox1.DataSource = files;
ListBox1.DataBind();
string[] folders = Directory.GetDirectories(@"D:\FolderA");
files = Directory.GetFiles(folders[0]);
ListBox2.DataSource = files;
ListBox2.DataBind();
输出如下:
ListBox1:
A1.txt
A2.txt
ListBox2:
B1.txt
B2.txt
B3.txt
Output would be as follows:
ListBox1:
A1.txt
A2.txt
ListBox2:
B1.txt
B2.txt
B3.txt
在这里,我得到了代码,它可以完美运行..很大程度上要感谢Debabrata_DAs的想法..
here i go i got the code and it works perfectly.. mostly thanks to Debabrata_DAs as he gave me idea..
var fbd = new FolderBrowserDialog();
fbd.ShowNewFolderButton = false;
if (fbd.ShowDialog() == DialogResult.Cancel)
return;
string foldername = fbd.SelectedPath;
var dirs = from dir in
Directory.EnumerateDirectories(@" "+foldername )
select dir;
int directoryCount;
foreach (var dir in dirs)
{
foreach (string f in Directory.EnumerateFiles(dir, "*.*"))
{
listBox1.Items.Add(f);
}
directoryCount = System.IO.Directory.GetFiles(@"" + dir).Length;
var lb = new ListBox();
lb.Dock = DockStyle.Bottom;
foreach (string f in Directory.EnumerateFiles (dir,"*.*"))
lb.Items.Add(f);
panel2.Controls.Add(lb);
string m = directoryCount.ToString();
MessageBox.Show(m);
}