文件夹创建与删除
判断是否存在与创建
string path = @"E:\Files";
if (!Directory.Exists(path))
{
//不存在就创建文件夹
System.IO.Directory.CreateDirectory(path);
}
删除文件夹
string path = @"E:\Files";
Directory.Delete(path, true);
递归遍历文件夹内所有文件
先遍历获取所有文件的地址,之后再遍历List操作文件。
List<string> files = GetFiles(@"D:\");
static List<string> GetFiles(string directory, string pattern = "*.*")
{
List<string> files = new List<string>();
foreach (var item in Directory.GetFiles(directory, pattern))
{
files.Add(item);
}
foreach (var item in Directory.GetDirectories(directory))
{
files.AddRange(GetFiles(item, pattern));
}
return files;
}
获取指定扩展名文件
多种扩展名,以数组形式传入
static void Main(string[] args)
{
List<string> files = GetFiles(@"D:\测试文件夹", new string[] { "*.docx", "*.pptx"});
foreach (var item in files)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
static List<string> GetFiles(string directory, string[] patterns)
{
List<string> files = new List<string>();
foreach (var pattern in patterns)
{
foreach (var item in Directory.GetFiles(directory, pattern))
{
files.Add(item);
}
}
foreach (var item in Directory.GetDirectories(directory))
{
files.AddRange(GetFiles(item, patterns));
}
return files;
}
Windows显示文件夹
string outputRoot = "D:";
System.Diagnostics.Process.Start(outputRoot);
全屏打开文件夹
string outputRoot = "D:";
var fol = new System.Diagnostics.ProcessStartInfo(outputRoot);
fol.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
System.Diagnostics.Process.Start(fol);