先用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. Linux 安装 helm

    下载helm压缩包,地址   https://github.com/helm/helm/releases/tag/v3.10.1 选择适合自己操作系统的包 上传解压安装 1 root@calico-m ...

  2. math 库中常用的数学运算和常量【GO 基础】

    〇.关于 math GO 语言的 math 库是一个内置的标准库,其中包含了许多数学函数和常量,用于计算各种数学运算和统计学计算. 日常开发中,计算当然是少不了的,那么今天来梳理下备查. 一.测试示例 ...

  3. .NET周刊【9月第4期 2023-09-24】

    国内文章 有趣的"可扩展近似计数"算法 https://zhuanlan.zhihu.com/p/656817283 在编程的世界里看见数学的身影,会让我充满好奇和兴奋.这不,在一 ...

  4. Istio 入门(六):版本控制

    目录 VirtualService 和 DestinationRule VirtualService 与 Service 的关系 VirtualService 和 DestinationRule 的关 ...

  5. 手写商用Java虚拟机HotSpot,疯狂磨砺技术中

    在当前Java行业激烈竞争的形式下,唯有掌握技术,心中才不能慌.在多年前,我就开始苦练底层技术,但是眼看百遍也不如手过一遍,所以我打算把虚拟机的精华实现部分用手敲出来,这个过程注定不会轻松,但是心态不 ...

  6. nginx学习(基本概念、配置和命令、反向代理、负载均衡、动静分离)

    之前都只会照着网上的nginx配置和代码什么的直接拿过来用,但是没系统学习过,所以来系统学习一下nginx内容. 建议服务器不要关闭防火墙,按需开启端口就好,然后云服务器也要设置SSH密钥,安全性高一 ...

  7. 云端golang开发,无需本地配置,能上网就能开发和运行

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 需求 学习golang的时候,需要一个IDE,还需要一 ...

  8. 『STAOI』G - Round 2 半个游记

    很刺激. 2023.3.2 23:17 第一次过审. 2023.3.5 00:02 第一次打回. 原因是背锅人的链接又双叒叕挂错了((( 2023.3.6 21:20 第二次过审. 2023.3.8 ...

  9. go 中如何实现定时任务

    定时任务简介 定时任务是指按照预定的时间间隔或特定时间点自动执行的计划任务或操作.这些任务通常用于自动化重复性的工作,以减轻人工操作的负担,提高效率.在计算机编程和应用程序开发中,定时任务是一种常见的 ...

  10. PostgreSQL 提升子连接与 ORACLE 子查询非嵌套

    查询优化器对子查询一般采用嵌套执行的方式,即父查询中的每一行,都要执行一次子查询,这样子查询会执行很多次,效率非常低. 例如 exists.not exists 逐行取出经行匹配处理,项目中使用子查询 ...