【win10 文件夹数量和看到不一致查看隐藏文件已经打开,Thumb文件作妖】
目录
- 任务介绍:
- 重命名规则
- 修改前
- 修改后
- 实现思路
- VB代码实现
- BUG犯罪现场(眼见不一定为实)
- 破案1:抓顶风作案的反贼!!!
- 破案2:破隐身抓刺客!!!
- 杀器:新建文件夹全部打印文件名对比文件名区别
- Thumb.db是什么?
- 如何删除Thumbs.db 文件
- 如何禁止Thumbs.db 文件
任务介绍:
批量把多个文件夹的图片重名命名为对应表格的L列数据;
重命名规则
修改前
修改后
实现思路
遍历工作表
填充字典:字典记录 键值对信息: key-旧名称 value-新名称 (分别对应每个表个A列和L列)
遍历父文件夹下的子文件夹:
匹配工作表名和子文件夹名
检查文件数量匹配
处理文件名和重命名
-
设置变量和文件夹路径:
- 在代码中首先声明了各种变量,如文件夹路径、工作簿、工作表、行数、旧文件名、新文件名等。
- 给
folderPath
变量赋值为包含要处理文件的文件夹路径。
-
创建文件系统对象:
- 使用
CreateObject("Scripting.FileSystemObject")
创建了文件系统对象 (fso
),用于操作文件和文件夹。
- 使用
-
遍历工作簿中的每个工作表:
For Each ws In wb.Worksheets
循环遍历工作簿中的每个工作表。
-
填充字典:
- 对于当前工作表,通过
For
循环,提取指定列的数据,并存储到一个字典dictSheet
中。其中,键是文件名,值是对应的新文件名。
- 对于当前工作表,通过
-
遍历父文件夹下的子文件夹:
For Each subFolder In folder.SubFolders
遍历父文件夹下的所有子文件夹。
-
匹配工作表名和子文件夹名:
If subFolder.Name = ws.Name Then
确保子文件夹的名称与当前工作表名匹配。
-
检查文件数量匹配:
- 检查当前子文件夹内的文件数量是否与当前工作表中特定数据行数量匹配。
-
处理文件名和重命名:
- 遍历当前子文件夹下的所有文件,对每个文件的文件名进行处理。
- 检查文件名是否存在于字典中,如果存在则重命名文件,将文件名更改为字典中对应的值。
-
重命名文件:
- 使用文件系统对象的
Name
方法来重命名文件,将旧文件名改为新文件名。
- 使用文件系统对象的
-
输出信息或调试消息:
- 使用
Debug.Print
输出信息,比如某个工作表文件数量不匹配的情况。
- 使用
这段代码的主要逻辑是根据工作表中的数据,匹配文件名并进行重命名。通过循环遍历每个工作表以及文件夹中的文件,它自动将文件名更改为给定的值。
VB代码实现
Sub RenameImages()Dim folderPath As StringDim wb As WorkbookDim ws As WorksheetDim cureetSheetlastRow As LongDim i As LongDim oldName As String, newName As StringDim dictSheet As ObjectDim keyCell As Range, valueCell As RangeDim fso As ObjectDim folder As ObjectDim subFolder As ObjectDim file As ObjectDim fileCount As IntegerDim key As VariantDim value As Variant' 设置文件夹路径folderPath = "C:\Users\Administrator\Desktop\Plasma 变色标签" ' 修改为您的父文件夹路径Set fso = CreateObject("Scripting.FileSystemObject")Set wb = ThisWorkbookFor Each ws In wb.WorksheetscureetSheetlastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).RowSet dictSheet = CreateObject("Scripting.Dictionary")' 填充字典For i = 5 To cureetSheetlastRowSet keyCell = ws.Cells(i, "A")Set valueCell = ws.Cells(i, "L")dictSheet(Trim(keyCell.value)) = Trim(valueCell.value)Next i'For Each key In dictSheet.Keys'Debug.Print "Key: " & key & ", Value: " & dictSheet(key)'Next key' 遍历父文件夹下所有子文件夹Set folder = fso.GetFolder(folderPath)For Each subFolder In folder.SubFolders' 判断子文件夹名称是否为当前工作表名称'If subFolder.Name = "3.28" Then''Debug.Print subFolder.Files.Count'For Each file In subFolder.Files'Debug.Print file.Path'Next file'End IfIf subFolder.Name = ws.Name Then' 获取子文件夹内文件数量fileCount = subFolder.Files.Count - 1'判断子文件文件数量是否等于currentSheetLast-4If fileCount = (cureetSheetlastRow - 4) Then' 遍历当前子文件夹下所有文件For Each file In subFolder.FilesoldName = file.PathDim fileName As StringfileName = fso.GetBaseName(file.Path) ' 获取文件名'Debug.Print "正在处理文件: " & fileName'If dictSheet.Exists("1") Then'MsgBox "存在1"'Else'MsgBox "不存在1"'End If' 检查文件名是否在字典中,并重命名文件If dictSheet.Exists(fileName) ThennewName = dictSheet(fileName) & ".png" ' 新的文件名为对应字典值' 使用文件系统对象的 Name 方法来重命名文件fso.GetFile(oldName).Name = dictSheet(fileName) & ".png"End IfNext fileElseDebug.Print ws.Name & " 文件数量:" & fileCount & " " & "表格数量" & cureetSheetlastRow - 4End IfEnd IfNext subFolderNext ws
End Sub
BUG犯罪现场(眼见不一定为实)
代码中的防呆设计:
子文件夹的文件数量要和Excel对应表格A列序号数量一致。
打印文件夹数量每次都比Excel的序号数量多一个或者二个!!!特别奇怪!!!!
破案1:抓顶风作案的反贼!!!
图片为中图标查看的时候我没发现这个刺客!!!
查看设置为列表!! 发现了不一样!!!
破案2:破隐身抓刺客!!!
你以为查看设置了显示隐藏文件夹就稳了???
不行滴,年轻人!!!
判断文件图片数量和表格A列序号的数量(A5到最后一行),总是文件的数量总是显示多一个,全部打印出来发现是Thumb.db ,就算在查看中设置把文件隐藏打开还是看不到这个文件,但是打印文件夹文件名称会打印!!!
杀器:新建文件夹全部打印文件名对比文件名区别
新建一个文件夹复制3.28文件夹所有图片到新文件夹test,打印两个文件夹目录下的文件名,全部复制到Excel中对比,发现原文件夹多了Thumbs.db!!!
Thumb.db是什么?
Thumbs.db
是Windows操作系统下的一个系统隐藏文件,用于存储缩略图和预览图像的缓存信息。这个文件通常会在文件夹中出现,当操作系统需要显示文件夹中的缩略图或预览图时,会自动生成这个Thumbs.db
文件来加快图像显示的速度。
下面是关于Thumbs.db
文件的一些特点和信息:
-
缓存信息:
Thumbs.db
文件会存储与文件夹中的图片文件相关的缩略图信息,这些缩略图可以帮助操作系统快速显示文件夹中的预览图像,而不必重新生成缩略图。 -
隐藏文件:
Thumbs.db
文件通常是一个系统隐藏文件,在常规情况下,用户是看不到这个文件的,除非在Windows文件夹选项中选择显示隐藏文件和文件扩展名。 -
占用磁盘空间:虽然
Thumbs.db
文件有助于加快图像预览的显示速度,但有时会被用户视为占用磁盘空间的不必要文件。 -
删除注意:在某些情况下,用户可能选择手动删除
Thumbs.db
文件,但系统会在需要时重新生成这些文件。可以通过更改Windows文件夹选项来禁用系统生成Thumbs.db
文件,但这可能会影响文件夹中的缩略图显示速度。
总的来说,Thumbs.db
文件是Windows系统用来缓存文件夹中缩略图信息的隐藏文件,有助于提高文件夹图像显示的效率。
如何删除Thumbs.db 文件
1 当前目录下使用进入cmd 运行程序
del /f /s /q /a thumbs.db
2 遍历文件夹文件删除,所以在获取需要处理的文件实际数量时,可以先把文件名称打印出来查看是否存在Thumbs.db文件,存在则删除,删除后计数才比较准确
如何禁止Thumbs.db 文件
Win10系统禁止生成Thumbs.db缩略图缓存的方法
https://www.cnblogs.com/Music/p/hide-win10-thumbs-dot-db.html
相关文章:
【win10 文件夹数量和看到不一致查看隐藏文件已经打开,Thumb文件作妖】
目录 任务介绍:重命名规则修改前修改后 实现思路VB代码实现BUG犯罪现场(眼见不一定为实)破案1:抓顶风作案的反贼!!!破案2:破隐身抓刺客!!!杀器&am…...
ctfshow web入门 sql注入 web224--web233
web224 扫描后台,发现robots.txt,访问发现/pwdreset.php ,再访问可以重置密码 ,登录之后发现上传文件 检查发现没有限制诶 上传txt,png,zip发现文件错误了 后面知道群里有个文件能上传 <? _$GET[1]_?>就是0x3c3f3d60245…...
「Java开发指南」如何用MyEclipse搭建GWT 2.1和Spring?(一)
本教程将指导您如何生成一个可运行的Google Web Toolkit (GWT) 2.1和Spring应用程序,该应用程序为域模型实现了CRUD应用程序模式。在本教程中,您将学习如何: 安装Google Eclipse插件为GWT配置一个项目搭建从数据库表到一个现有的项目GWT编译…...
python同时进行字符串的多种替换
一些常见的方法: 使用str.replace()方法:这是一种简单的方法,但是如果你有多个替换需要进行,可能会变得很繁琐。 text "This is a sample text with some words." text text.replace("sample", "exa…...
【Java基础题型】用筛法求之N内的素数(老题型)
输入格式 N输出格式 0~N的素数样例输入 100样例输出 2 3 5 7 11 13 17 19 23 29 31 37 老朋友素数了属于是! 方法1:(穷举法) 通过遍历 i 的所有除数,如果除以除数后商变成了0,那么把布尔值变成假的。表示不是素数 【…...
Linux进程——Linux环境变量
前言:在结束完上一篇的命令行参数时,我们简单的了解了一下Linux中的环境变量PATH,而环境变量不只有PATH,关于更多环境变量的知识我们将在本篇展开! 本篇主要内容: 常见的环境变量 获取环境变量的三种方式 本…...
SRM系统供应链库存协同提升企业服务水平
SRM系统供应链库存协同是一种以提高供应链整体效率和竞争力为目标的管理方法。它涉及到企业与供应商之间的紧密合作,以实现库存优化、成本降低、风险分担和灵活响应市场变化等目标。 一、SRM供应链库存协同的概念和特点 SRM供应链库存协同是指企业与供应商之间通过…...
Windows安全加固-账号与口令管理
在当今日益增长的网络安全威胁中,Windows系统的安全加固显得尤为重要。其中,账号与口令管理作为系统安全的第一道防线,其重要性不言而喻。本文将深入探讨Windows安全加固中的账号与口令管理策略,以确保系统的安全性和稳定性。 账…...
【数据库原理及应用】期末复习汇总高校期末真题试卷03
试卷 一、选择题 1 数据库中存储的基本对象是_____。 A 数字 B 记录 C 元组 D 数据 2 下列不属于数据库管理系统主要功能的是_____。 A 数据定义 B 数据组织、存储和管理 C 数据模型转化 D 数据操纵 3 下列不属于数据模型要素的是______。 A 数据结构 B 数据字典 C 数据操作 D…...
数据库加密数据模糊匹配查询技术方案
文章目录 前言沙雕方案内存加载解密密文映射表 常规做法实现数据库加密算法参考 分词组合加密(推荐) 超神方案总结个人简介 前言 在数据安全性和查询效率之间找到平衡是许多数据管理系统所面临的挑战之一。特别是在涉及加密数据的情况下,如何…...
jsSPA应用如何实现动态内容更新
JS SPA(单页面应用)应用的原理、优势以及例子如下: 原理: SPA应用的核心原理在于,它使用JavaScript动态地创建和更新DOM结构,而非通过传统的多页面跳转来呈现内容。当用户与应用程序交互时,SP…...
C++学习笔记——仿函数
文章目录 仿函数——思维导图仿函数是什么仿函数的优势理解仿函数仿函数的原理举例 仿函数——思维导图 仿函数是什么 使用对象名调用operator()函数看起来像是在使用函数一样,因此便有了仿函数的称呼;仿函数存在的意义是&#x…...
python 中如何匹配字符串
python 中如何匹配字符串? 1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 import re line"this hdr-biz 123 model server 456" patternr"123" matchObj re.matc…...
Windows 系统运维常用命令
目标:通过本文可以快速实现windows 网络问题定位。 ipconfig:查看本机网络配置情况 C:\Users\zzg>ipconfigWindows IP 配置以太网适配器 以太网:媒体状态 . . . . . . . . . . . . : 媒体已断开连接连接特定的 DNS 后缀 . . . . . . . :无线局域网适配器 本地…...
Springboot监听ConfigMap配置文件自动更新配置
背景: 最近调研使用k8s的ConfigMap来作为springboot项目的配置中心,需要实现热更新机制,避免pod重启影响业务。 ConfigMap作为挂载卷使用的时候可以更新pod中的配置内容,但是业务应用需要能监听并处理这些变更。我在测试的时候已…...
API安全机制
API安全机制包括两部分:数字签名、敏感信息加密。 一、数字签名 服务端使用客户端的消息签名验证客户端的身份。如果一个请求不包含签名或者签名验证失败,服务端将返回身份验证错误。它背后的技术是:数字签名技术。 1、待签参数准备 待签…...
接口性能测试 —— Jmeter并发与持续性压测!
接口压测的方式: 1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数 2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种…...
Windows+Linux的虚拟串口工具
文章目录 1.Windows虚拟串口工具1.1 安装教程1.2 使用方法 2.Linux系统虚拟串口工具2.1 socat安装2.2 开启虚拟串口2.3 测试2.3.1 命令测试2.3.2 Cutecom工具测试 2.4 关闭虚拟串口 3.参考资料 1.Windows虚拟串口工具 下载地址:https://www.downxia.com/downinfo/4…...
Spring-AOP
目录 一:什么是AOP 二:AOP快速入门 2.1导入AOP坐标 2.2定义dao接口和实现类 2.3定义通知类 2.4在配置类中进行Spring注解包扫描和开启AOP功能 2.5定义测试类测试结果 三:AOP工作流程 四:AOP的切入点表达式 4.1语法格…...
算法程序设计-快速排序
快速排序采用---分治策略 L |------x-------------| R 第一步确定分界点:q[l],q[(lr)/2],q[r]随机 第二步调整范围:L |--------<x|>x------------| R 第三步递归处理左右两端 两种做法: 第一种:暴力解决 另外定义两个…...
Jmeter用jdbc实现对数据库的操作
我们在用Jmeter进行数据库的操作时需要用到配置组件“JDBC Connection Configuration”,通过配置相应的驱动能够让我们通过Jmeter实现对数据库的增删改查,这里我用的mysql数据库一起来看下是怎么实现的吧。 1.驱动包安装 在安装驱动之前我们要先查看当前…...
Mac 上安装多版本的 JDK 且实现 自由切换
背景 当前电脑上已经安装了 jdk8; 现在再安装 jdk17。 期望 完成 jdk17 的安装,并且完成 环境变量 的配置,实现自由切换。 前置补充知识 jdk 的安装路径 可以通过查看以下目录中的内容,确认当前已经安装的 jdk 版本。 cd /Library/Java/Java…...
springboot如何发送邮件,java如何发送邮件随机码作为验证
maven <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version></dependency> 然后java package com.metasoft.common.utils;import java.util.Properties;import javax.…...
使用QLoRA在自定义数据集上finetuning 大模型 LLAMA3 的数据比对分析
概述: 大型语言模型(LLM)展示了先进的功能和复杂的解决方案,使自然语言处理领域发生了革命性的变化。这些模型经过广泛的文本数据集训练,在文本生成、翻译、摘要和问答等任务中表现出色。尽管LLM具有强大的功能,但它可能并不总是与特定的任务或领域保持一致。 什么是LL…...
编译和链接(超详细)
✅博客主页:爆打维c-CSDN博客 🐾 🔹分享c语言知识及代码 一、编译和链接实例 假设我们有一个名为main.c的C语言源文件,它包含了一个简单的Hello World程序。我们可以使用gcc编译器对该源文件进行编译,生成一个可执行…...
Rust Turbofish 的由来
0x01 什么是 Turbofish 我们运行如下 Rust Snippet: fn main() {let numbers: Vec<i32> vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];let even_numbers numbers.into_iter().filter(|n| n % 2 0).collect();println!("{:?}", even_numbers); }不出意…...
2.外卖点餐系统(Java项目 springboot)
目录 0.系统的受众说明 1.系统功能设计 2.系统结构设计 3.数据库设计 3.1实体ER图 3.2数据表 4.系统实现 4.1用户功能模块 4.2管理员功能模块 4.3商家功能模块 4.4用户前台功能模块 4.5骑手功能模块 5.相关说明 新鲜运行起来的项目:如需要源码数据库…...
Universal Thresholdizer:将多种密码学原语门限化
参考文献: [LS90] Lapidot D, Shamir A. Publicly verifiable non-interactive zero-knowledge proofs[C]//Advances in Cryptology-CRYPTO’90: Proceedings 10. Springer Berlin Heidelberg, 1991: 353-365.[Shoup00] Shoup V. Practical threshold signatures[C…...
【UE5学习笔记】编辑及运行界面:关闭眼部识别(自动曝光)
自动曝光,也就是走进一个黑暗的环境,画面会逐渐变量,以模拟人眼进入黑暗空间时瞳孔放大,进光量增加的一种真实视觉感受: 制作过程中是否关闭自动曝光,取决于游戏的性质,但是个人认为,…...
未来科技的前沿:深入探讨人工智能的进展、机器学习技术和未来趋势
文章目录 一、人工智能的定义和概述1. 人工智能的基本概念2. 人工智能的发展历史 二、技术深入:机器学习、深度学习和神经网络1. 机器学习2. 深度学习3. 神经网络 三、人工智能的主要目标和功能1. 自动化和效率提升2. 决策支持和风险管理3. 个性化服务和预测未来 本…...
通州青岛网站建设/国内最好的搜索引擎
前言:前面的几篇文章都是记录tushare先写入本地硬盘变成csv格式,然后再从csv取数据进行分析再导入mysql。以下代码是直接将tushare获取到数据直接导入mysql,先大体放出简单代码,后面再记录完善的代码: import pandas …...
做网站的公司深圳/seo全称是什么
组合对象,即排列、组合和给定集合的子集等。 数学中我们也学过排列组合,对于给定的一个集合,给出其对应的排列组合,以及对应的子集。 生成排列 排列问题指的是对于给定的多个元素求其中各种可能的序列。为了简单起见࿰…...
桂林北站地图/花都网站建设公司
原文地址 http://zhangyaochun.iteye.com/blog/1682605 原作者:zhangyaochun 转载于:https://www.cnblogs.com/yiliweichinasoft/p/3472317.html...
南宁网站制作-中国互联/优化设计官方电子版
安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。[安装环境]:Win7/Win8/Win101.鼠标右击【VMware 15.5.0】压缩包选择【解压到VMware 15.5.0】。2.双击打开解压后的【VMware 15.5.0】文件夹。3.鼠标右击【VMw…...
网站建设销售话/免费优化网站排名
Android中的TextView是个显示文字的的UI类。在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现。我们能够通过Android提供的 SpannableString类封装。Android提供了非常多的Span的类去实现样式,这个样式都是继承自Chara…...
电影采集网站怎么做seo/做网络推广怎么收费
为什么80%的码农都做不了架构师?>>> 一个参与实施开发工作的程序员,用7年的时间在一个梦里摸爬滚打。梦醒了发现自己什么都不是了,连工作了三年的程序员都不如了,真正从事研发工作和我这个只参与实施开发的程序员的差…...