【思路】-【ImagesRename】-检查图片是否存在的设计思路

重命名

输入主图列和详细图列【竖线分割的文件名】,图片源目录,
输出重命名之后的图片和新命名的主图名字和详细图名字【保存在E盘】

如果文件不存在,那么新名字一行将为空
读取Excel获得Reader,然后循环处理每一行
获得主图原名称,获得文件的扩展后缀,生成新的名字。命名方式:随机编号 ;基于主图名字;基于产品名字;
随机编号:采用时间命名,为了防止程序过快重复,追加一个后缀变量i,来保证新名字每个都是唯一的
主图名字:西欧字符有可能不能正确命名,采用一个函数,逐个过滤每个字符串,只保留a-z 0-9 空格,下划线,减号等字符,保证新名称 每一个都是唯一的
详细图:兼容zencart的命名格式,在主图的基础上追加”_“+i的方式生成

处理完成一列之后,如果图片重命名成功之后,在Stringbulider 变量中保存这个新名字,处理完成一行直接换行
先复制主图,主图复制完成之后在复制详细图
Path.GetExtension 可能因为字符的问题引发异常,所默认需要给一个默认的后缀名

如何保存生成之后的新的详细图列呢?
使用一个变量:复制成功之后就在整个变量上累加”|”,如果不成功就累加空
每次处理完一行之后,重新将整个变量置为空
可以扩展到任意后缀的文件重命名
增加复制成功的图片个数统计
用来校队图片文件数

检查


用来检查Excel图片列中的主图列在文件目录中都是存在的,防止图片不存在
循环读取Excel的每一行,获得名字,获得文件的路径地址,判断文件是否存在,如果不存在变量递增1
函数从第二行开始计算
最后检查变量如果不存在的图片为0,表示图片和名字一一对应上,大于0表示 名字和图片文件没有对象需要重命名

过滤


用来将图片文件从众多的图片中分离出来,保存在另一个目录
【前提】Excel列中保存的图片名字都不重复,必须在对图片重命名之后,才使用此功能
输入源目录 保存目录 数据Excel文件
循环读取Excel中的每一行,获得文件名,获得文件地址。判断存在,开始复制
分文件夹过滤
Excel中包含文件夹列:用来将图片分别复制到不同的文件夹中去
读取一行,读取文件名 读取文件名名
如果文件不存在,创建文件夹,开始复制文件

检查重复


输入一个Excel文件,将需要检查的一列命名成“重复”
用来检查Excel中的名字列是否有重复的,可以检查图片的下载链接
创建一个List集合,使用Contains函数,如果包含这个字符串就输出这个字符串
否则就添加到集合中去

创建文件
用来根据Excel中的表格数据,创建生成IndexFile和Resource表的SQL语句