using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
namespace FindHongliPdf
{
class Program
{
static void Main(string[] args)
{
FindPdf();
}
/// <summary>
/// 寻找匹配名称的pdf
/// </summary>
public static void FindPdf()
{
string storagePath = @"\\10.10.129.77\巨潮下载测试\2017\20171130\新建文件夹\";
string path = @"C:\Users\qingping.li\Desktop\公司文档";
string pattern = ".*权益.*实施.*|.*分红.*|.*派息.*|.*转增.*|.*利润分.*实施.*|.*红.*分配.*";
//获取所有文件
DirectoryInfo Info = new DirectoryInfo(path);
//获得目录下的所有文件夹(操作文件夹)
DirectoryInfo[] dirInfoArray = Info.GetDirectories();
//开始复制
ErgodicDir(dirInfoArray, storagePath, pattern);
}
/// <summary>
/// 遍历文件夹
/// </summary>
/// <param name="dirInfoArray"></param>
public static void ErgodicDir(DirectoryInfo[] dirInfoArray, string storagePath, string pattern)
{
//遍历文件夹
foreach (DirectoryInfo item in dirInfoArray)
{
//有单独的文件,就先复制文件
CopyFile(item, storagePath, pattern);
//如果有文件夹,继续遍历
if (item.GetDirectories().Length > 0)
ErgodicDir(item.GetDirectories(), storagePath, pattern);//继续扫描文件夹
else
CopyFile(item, storagePath, pattern); //只有文件
}
}
/// <summary>
/// 复制文件
/// </summary>
/// <param name="item"></param>
public static void CopyFile(DirectoryInfo item, string storagePath, string pattern)
{
if (item.GetFiles().Length > 0)
{
foreach (FileInfo file in item.GetFiles())
{
if (file.Extension == ".pdf")
{
//匹配要扫描的文件名称
if (Regex.IsMatch(file.Name, pattern))
if (!File.Exists(storagePath + file.Name))
File.Copy(file.FullName, storagePath + file.Name);
}
Console.WriteLine(file.FullName);
}
}
}
}
}
利用递归寻找某个目录下的指定名称所有文件
最新推荐文章于 2022-04-28 21:59:10 发布