
c# 读取所有子文件夹中扩展名为txt的所有文件,并将其复制到根目录,删除源文件。
展开全部
/// <summary>
/// 处理指定工作方式,只工作指定文件类型
/// </summary>
/// <param name="workWhat">[工作方式]目前支持 复制 剪切 删除</param>
/// <param name="fromDir">[来自]</param>
/// <param name="toDir">[到]</param>
/// <param name="extension">工作文件扩展名</param>
public void copyDir(string workWhat, string fromDir, string toDir, string extension)
{
string[] files = Directory.GetFiles(@fromDir);
foreach (string file in files)
{
FileInfo fiE = new FileInfo(@file);
//loading文本说明 赋值
if (workWhat == "复制")
{
if (fiE.Extension == extension)
{
File.Copy(@file, @toDir + "\\" + Path.GetFileName(@file), true);
}
}
else if(workWhat == "剪切")
{
if (fiE.Extension == extension)
{
File.Move(@file, @toDir + "\\" + Path.GetFileName(@file));
}
}
else if(workWhat=="删除")
{
if (fiE.Extension == extension)
{
File.Delete(@file);
}
}
}
//子目录处理
string[] dirs = Directory.GetDirectories(@fromDir);
foreach (string dir in dirs)
{
if (!Directory.Exists(@toDir + "\\" + Path.GetFileName(@dir)))
{
Directory.CreateDirectory(@toDir + "\\" + Path.GetFileName(@dir));
}
copyDir(@dir, @toDir + "\\" + Path.GetFileName(@dir));
}
}
//使用
copyDir("复制", @"D:\", @"E:\receive" , ".txt");
//copyDir("剪切", @"D:\", @"E:\receive" , ".txt");
//copyDir("删除", @"D:\", string.Empty, ".txt");
/// 处理指定工作方式,只工作指定文件类型
/// </summary>
/// <param name="workWhat">[工作方式]目前支持 复制 剪切 删除</param>
/// <param name="fromDir">[来自]</param>
/// <param name="toDir">[到]</param>
/// <param name="extension">工作文件扩展名</param>
public void copyDir(string workWhat, string fromDir, string toDir, string extension)
{
string[] files = Directory.GetFiles(@fromDir);
foreach (string file in files)
{
FileInfo fiE = new FileInfo(@file);
//loading文本说明 赋值
if (workWhat == "复制")
{
if (fiE.Extension == extension)
{
File.Copy(@file, @toDir + "\\" + Path.GetFileName(@file), true);
}
}
else if(workWhat == "剪切")
{
if (fiE.Extension == extension)
{
File.Move(@file, @toDir + "\\" + Path.GetFileName(@file));
}
}
else if(workWhat=="删除")
{
if (fiE.Extension == extension)
{
File.Delete(@file);
}
}
}
//子目录处理
string[] dirs = Directory.GetDirectories(@fromDir);
foreach (string dir in dirs)
{
if (!Directory.Exists(@toDir + "\\" + Path.GetFileName(@dir)))
{
Directory.CreateDirectory(@toDir + "\\" + Path.GetFileName(@dir));
}
copyDir(@dir, @toDir + "\\" + Path.GetFileName(@dir));
}
}
//使用
copyDir("复制", @"D:\", @"E:\receive" , ".txt");
//copyDir("剪切", @"D:\", @"E:\receive" , ".txt");
//copyDir("删除", @"D:\", string.Empty, ".txt");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询