先用Python来创建多层级文件夹:

import os

root_path = r"C:\Users\Desktop\文案整理\Practice"

for item in range(1, 41):
foldname = os.path.join(root_path, str(item))
os.mkdir(foldname) foldname_son1 = os.path.join(foldname, str(item) + f'.{item}')
os.mkdir(foldname_son1) for i_item in range(1, 501):
foldname_son1_son = os.path.join(foldname_son1, str(i_item) + f'..{i_item}')
os.mkdir(foldname_son1_son)

得到的树结构:

|-practice
| |- 1
| | |- 1.1
| | | |- 1..1
...
| | | |- 500..500

读取遍历所有文件并将路径保存到文本中,然后再将指定图片保存到指定文件夹中:

 1 string fi = @"C:\Users\Desktop\文案整理\Practice"; // 整图文件夹
2 string SN_txt = @"C:\Users\Desktop\文案整理\SN_NaemCollection.txt"; // 所有SN的路径记录
3 string targefold = @"C:\Users\Desktop\文案整理\New"; // SN保存路径
4 string SN = "302..302"; // SN编号
5 Save_SNPath(fi, SN_txt);
6 CopySN_Picture(FindSN_Picture(SN_txt, SN), targefold);
7
8 void Save_SNPath(string fi, string SN_txt)
9 {
10 // 清空文件内容
11 File.WriteAllText(SN_txt, String.Empty);
12 foreach (var item in Directory.GetDirectories(fi))
13 foreach (var i_item in Directory.GetDirectories(item))
14 foreach (var ii_item in Directory.GetDirectories(i_item))
15 // 保存SN路径
16 using (StreamWriter write = new StreamWriter(SN_txt, true))
17 write.WriteLine(ii_item);
18 }
19
20 string FindSN_Picture(string SN_txt, string SN)
21 {
22 // 查找SN_Picture
23 string [] f = File.ReadAllLines(SN_txt);
24 foreach (var item in f)
25 if (item.Contains(SN))
26 {
27 // 因 *..* 结构文件夹名会重复,所以需要再次遍历
28 string[] pic = Directory.GetFiles(item, "*.jpg");
29 if (pic.Length > 0)
30 foreach(var i in pic)
31 return i;
32 }
33 return "NULL";
34 }
35
36 void CopySN_Picture(string soursefold, string targefold)
37 {
38 string ssfold = Path.Combine(targefold, DateTime.Now.ToString("d").Replace("/", "_") + "_SN");
39 // 创建当日SN文件夹
40 Directory.CreateDirectory(ssfold);
41
42 // 复制SN中的图片至SN文件夹
43 File.Copy(soursefold, Path.Combine(ssfold, "2.jpg"));
44 }

后续将继续更新其他功能...

【C#】【IO】【实例】接上一个统计的新功能的更多相关文章

  1. 实现一个类似Chrome新功能提示的popoup

    先让我们看一下Chrome的popup是什么样的: 这个“直接搜索网页”与“在打开的标签页之间切换”就是两个功能导航,还做了一个动画效果,会不停的上下晃. 我通过WindowManager的addVi ...

  2. 上一个树形菜单的改进,增添了数据绑定功能而非仅仅的jq特效

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  3. java IO 实例分析

    初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见 ...

  4. PHP 获取上一个页面的url

    php $_SERVER["HTTP_REFERER"]变量可以获取上一个或前一个页面的URL地址. 比如有一个a.php页面,这个页面上有一个链接指向b.php页面,如果我们在a ...

  5. Selenium2学习-039-WebUI自动化实战实例-文件上传下载

    通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...

  6. 【原创】高性能网络编程(二):上一个10年,著名的C10K并发连接问题

    1.前言 对于高性能即时通讯技术(或者说互联网编程)比较关注的开发者,对C10K问题(即单机1万个并发连接问题)应该都有所了解."C10K"概念最早由Dan Kegel发布于其个人 ...

  7. UNIQUEIDENTIFIER列上的统计信息

    UNIQUEIDENTIFIER列上的统计信息非常有意思,在它上面有一些很令人讨厌的行为.我们来看下. 问题重现(The repro) 为了向你展示我们刚抱怨的行为,我用下列简单的表定义创建了一个数据 ...

  8. 非索引列上的统计 <第二篇>

    非索引列上的统计 有时候,可能在连接或过滤条件中的列上没有索引.即使对这种非索引列,如果查询优化器知道这些列的数据分布(统计),它也很可能做出最佳的选择. 除了索引上的统计,SQL Server可以在 ...

  9. 索引列上的统计 <第一篇>

    一.索引在查询优化中的角色 SQL Server的查询优化器是基于开销的优化器.它通过确认选择性.数据的唯一性以及过滤数据(通过WHERE或JOIN子句)所使用的列来决定最佳的数据访问机制.统计与索引 ...

  10. 第十二章——SQLServer统计信息(4)——在过滤索引上的统计信息

    原文:第十二章--SQLServer统计信息(4)--在过滤索引上的统计信息 前言: 从2008开始,引入了一个增强非聚集索引的新功能--过滤索引(filter index),可以使用带有where条 ...

随机推荐

  1. 4.1 应用层Hook挂钩原理分析

    InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截.修改.增强现有函数功能.它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义 ...

  2. Selenium+dddocr轻松解决Web自动化验证码识别

    大家好,我是狂师,今天给大家推荐一款验证码识别神器:dddocr. 1.介绍 dddocr是一个基于深度学习的OCR(Optical Character Recognition,光学字符识别)库,用于 ...

  3. 谱图论:Laplacian二次型和Markov转移算子

    以下部分是我学习CMU 15-751: TCS Toolkit的课堂笔记.由于只是个人笔记,因此许多地方在推导上可能不那么严谨,还望理论大佬多多包涵. 1 问题定义 1.1 无向图\(G\) 在本文中 ...

  4. C#开源且免费的Windows桌面快速预览神器 - QuickLook

    前言 今天给大家推荐一款由C#开源且免费的Windows桌面快速预览神器:QuickLook. 工具介绍 QuickLook是一款在Windows操作系统上的实用工具,它提供了一种快速预览文件内容的方 ...

  5. 研发三维GIS系统笔记/框架改造/智能指针重构框架-003

    1. 使用智能指针重构系统 原有的系统都是裸指针,在跨模块与多线程中使用裸指针管理起来很麻烦,尤其是多任务系统中会出现野指针 1 class CELLTileTask :public CELLTask ...

  6. DELL R750

    两种情况不常见 1.如果R750的配置单里提到 跳线-C13/C14.0.6M.250V.10A(中国.韩国)   要注意里面写的0.6M,表示这个线是0.6米的,较短,客户机房环境复杂的情况下,很可 ...

  7. 从零用VitePress搭建博客教程(3) - VitePress页脚、标题logo、最后更新时间等相关细节配置

    接上一节:从零用VitePress搭建博客教程(2) –VitePress默认首页和头部导航.左侧导航配置 五.默认主题相关细节配置 关于默认主题的标题,logo.页脚,最后更新时间等相关细节配置,我 ...

  8. ExcelPatternTool 开箱即用的Excel工具包现已发布!

    目录 ExcelPatternTool 功能 特点: 快速开始 使用说明 常规类型 高级类型 Importable注解 Exportable注解 IImportOption导入选项 IExportOp ...

  9. 聊聊RNN与seq2seq

    seq2seq模型也称为Encoder-Decoder模型.顾名思义,这个模型有两个模块--Encoder(编码器)和Decoder(解码器).编码器对输入数据进行编码,解码器对被编码的数据进行解码. ...

  10. P4870 [BalticOI 2009 Day1]甲虫 题解

    题目链接 简要题意 在一个数轴上有 \(n\) 滴露水,每滴露水初始水量为 \(m\),每秒会蒸发一滴水,一个甲虫初始在原点,速度为 1,水能瞬间喝完,问它最多能喝到几滴水. 题目分析 对于这种移动区 ...