如何批量更改很多个文件夹里的文件名中包含文件夹名?

🏆本文收录于《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)。以下是一个示例脚本,它将遍历指定目录下的所有文件夹,并在每个文件夹中重命名文件,将文件夹名添加到文件名前。

  请按照以下步骤操作:

  1. 打开记事本或任何文本编辑器。
  2. 将以下代码复制并粘贴到文本编辑器中:
@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
  1. C:\path\to\your\root\directory 替换为您的根目录路径。
  2. 保存文件为 rename_files.bat(或任何您喜欢的名称,但确保它是批处理文件)。
  3. 双击运行该批处理文件或在命令行中运行它。

这个脚本会做以下事情:

  • 切换到您指定的根目录。
  • 遍历根目录下的所有子文件夹。
  • 在每个子文件夹中,先重命名所有以四位数字结尾的.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电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿。


最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 22:42:03       100 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 22:42:03       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 22:42:03       90 阅读
  4. Python语言-面向对象

    2024-07-10 22:42:03       98 阅读

热门阅读

  1. 生成日志系统和监控

    2024-07-10 22:42:03       30 阅读
  2. Apache Spark详解

    2024-07-10 22:42:03       20 阅读
  3. qt opencv 应用举例

    2024-07-10 22:42:03       23 阅读
  4. Pytorch中分类回归常用的损失和优化器

    2024-07-10 22:42:03       29 阅读
  5. 【Rust】Cargo介绍

    2024-07-10 22:42:03       28 阅读
  6. 搭建Spring Cloud项目思路

    2024-07-10 22:42:03       27 阅读
  7. C语言从头学32——字符串数组

    2024-07-10 22:42:03       31 阅读
  8. 7. 有奖猜谜

    2024-07-10 22:42:03       26 阅读
  9. 关于redis的运维面试题-2

    2024-07-10 22:42:03       23 阅读
  10. socketserver和WSGI服务端实现教程

    2024-07-10 22:42:03       28 阅读
  11. 数组常用的方法

    2024-07-10 22:42:03       23 阅读
  12. 设计模式实现思路介绍

    2024-07-10 22:42:03       33 阅读