在控制台应用程序中浏览文件夹
本文关键字:浏览 文件夹 应用程序 控制台 | 更新日期: 2023-09-27 18:02:48
我目前必须编写代码,以允许我读取文件夹的所有文件并将它们写入控制台。下面,我还获得了使用浏览器从目录中选择单个文件的代码。我想知道如何使用浏览按钮来选择文件夹。
代码检查所有文件
foreach(var path in Directory.GetFiles(@"C:'Name'Folder'"))
{
Console.WriteLine(path); // full path
Console.WriteLine(System.IO.Path.GetFileName(path)); // file name
}
打开对话框的代码
OpenFileDialog fileSelectPopUp = new OpenFileDialog();
fileSelectPopUp.Title = "";
fileSelectPopUp.InitialDirectory = @"c:'";
fileSelectPopUp.Filter = "All EXCEL FILES (*.xlsx*)|*.xlsx*|All files (*.*)|*.*";
fileSelectPopUp.FilterIndex = 2;
fileSelectPopUp.RestoreDirectory = true;
if (fileSelectPopUp.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fileSelectPopUp.FileName;
}
首先需要添加对System.Windows.Forms
的引用
然后,将STAThread
Attribute添加到main方法中。这表明你的程序是单线程的,并使它能够与COM组件(系统对话框使用)一起工作。
之后,只有你可以使用FolderBrowserDialog
与控制台应用程序
static class Program
{
[STAThread]
static void Main(string[] args)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK)
{
foreach (var path in Directory.GetFiles(fbd.SelectedPath))
{
Console.WriteLine(path); // full path
Console.WriteLine(System.IO.Path.GetFileName(path)); // file name
}
}
}
}
FolderBrowserDialog
用户
FolderBrowserDialog b = new FolderBrowserDialog();
if(b.ShowDialog() == DialogResult.OK)
{
var folderName = b.SelectedPath;
}
虽然,对于图像UI操作,您可以使用DotImaging。UI:
string fileName = UI.OpenFile(); //open-file dialog