🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
问题描述
例如:文件夹11-11-1里面的文件夹里有0001.jpg、0002jpg、0003jpg…等很多个文件,文件夹11-11-2里也是有0001.jpg、0002jpg、0003jpg…等很多个文件,文件夹11-11-3里也有0001.jpg、0002jpg、0003jpg…等很多个文件,如何批量的把这些文件夹里的文件改成11-11-1-0001.jpg、11-11-1-0002.jpg、11-11-1-0003.jpg,下一个文件夹11-11-2-0001.jpg、11-11-2-0002.jpg、11-11-2-0003.jpg,以此类推,仅使用Windows命令行脚本;注意:一个文件夹里可能有几百张jpg文件,第999个文件的名字就是0999.jpg,不一定都包含000
如上问题有来自我自身项目开发,有的收集网站,有的来自读者,如有侵权,立马删除。
解决方案
如下是上述问题的解决方案,仅供参考:
要使用Windows命令行批量重命名文件夹中的文件,您可以编写一个简单的批处理脚本(batch script)。以下是一个示例脚本,它将遍历指定目录下的所有文件夹,并在每个文件夹中重命名文件,将文件夹名添加到文件名前。
请按照以下步骤操作:
- 打开记事本或任何文本编辑器。
- 将以下代码复制并粘贴到文本编辑器中:
@echo off
setlocal enabledelayedexpansion:: 设置包含子文件夹的根目录路径
set "root_dir=C:\path\to\your\root\directory":: 切换到根目录
cd /d "%root_dir%":: 遍历根目录下的所有文件夹
for /d %%i in (*) do (echo Processing directory: %%i:: 切换到当前文件夹cd "%%i":: 初始化文件计数器set "file_count=1":: 遍历当前文件夹中的所有.jpg文件for %%j in (????.jpg) do (:: 重命名文件ren "%%j" "%%~ni-%file_count%.jpg"set /a file_count+=1):: 重置文件计数器set "file_count=1":: 遍历当前文件夹中的所有不包含扩展名的文件(如0002jpg)for %%j in (*) do (if "!file_count!" lss 10 (ren "%%j" "0%%~ni-000%file_count%.jpg") else if "!file_count!" lss 100 (ren "%%j" "0%%~ni-00%file_count%.jpg") else if "!file_count!" lss 1000 (ren "%%j" "0%%~ni-0%file_count%.jpg") else (ren "%%j" "%%~ni-%file_count%.jpg")set /a file_count+=1):: 切换回根目录cd ..
)echo Done.
pause
- 将
C:\path\to\your\root\directory
替换为您的根目录路径。 - 保存文件为
rename_files.bat
(或任何您喜欢的名称,但确保它是批处理文件)。 - 双击运行该批处理文件或在命令行中运行它。
这个脚本会做以下事情:
- 切换到您指定的根目录。
- 遍历根目录下的所有子文件夹。
- 在每个子文件夹中,先重命名所有以四位数字结尾的
.jpg
文件,然后重命名所有其他文件,将文件夹名和文件序号添加到文件名前。 - 文件序号根据文件在文件夹中的位置自动增加。
请注意,这个脚本假设您的文件名格式是连续的数字,如果文件名不连续或有其他特殊情况,可能需要对脚本进行相应的调整。在运行此脚本之前,请先在小范围内测试以确保它按预期工作。
希望如上措施及解决方案能够帮到有需要的你。
PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。
若有对当前Bug有与如下提供的方法不一致,有个不情之请,希望你能把你的新思路或新方法分享到评论区,一起学习,目的就是帮助更多所需要的同学,正所谓「赠人玫瑰,手留余香」。
☀️写在最后
ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏《CSDN问答解惑-专业版》,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。
码字不易,如果这篇文章对你有所帮助,帮忙给bug菌来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。
同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!
📣关于我
我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 20w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿。