当前位置: 首页 > news >正文

图片批量重命名bat,一个脚本快速搞定图片批量重命名

BAT 批处理 是一种在 Microsoft Windows 操作系统中使用的脚本语言,用于自动执行一系列预定义的命令或任务。这些命令集合通常存储在一个文本文件中,文件扩展名为 .bat 或 .cmd。批处理脚本可以包含简单的命令,如文件复制、移动、删除,也可以包括复杂的逻辑控制结构,如条件判断、循环等。

批处理脚本的执行是在命令行解释器的控制下进行的,对于 Windows 系统来说,这个解释器通常是 cmd.exe。当你在命令行中输入批处理文件的名称并按回车,或者双击批处理文件图标时,cmd.exe 就会读取并执行文件中的每一行命令。

创建一个用于批量重命名图片文件的批处理脚本是一个相对直接的过程。下面是一个简单的批处理脚本示例,它将遍历指定目录中的所有图片文件(假设为常见的格式如 .jpg, .jpeg, .png, .gif 等),并按照一定的规则重命名它们。在此示例中,我们将使用递增数字作为新文件名的一部分。

图片批量重命名 BAT 脚本示例

@echo off
setlocal enabledelayedexpansionrem 设置目标目录
set "targetDir=C:\Users\Administrator\Desktop\新建文件夹"rem 初始化计数器
set /a counter=1rem 进入目标目录
pushd "%targetDir%"rem 遍历所有图片文件
for /f "delims=" %%i in ('dir /b *.jpg *.jpeg *.png *.gif') do (rem 生成新的文件名set "oldFileName=%%i"set "newFileName=Image_!counter!_!oldFileName!"rem 重命名文件,确保文件名用双引号括起来ren "!oldFileName!" "!newFileName!"rem 增加计数器set /a counter+=1
)rem 返回原来的工作目录
popdecho Done.
pause

脚本解释

  • 设置目标目录 (targetDir): 修改 targetDir 的值为您的图片所在目录。
  • 初始化计数器: 我们使用了一个名为 counter 的变量来生成唯一的文件名。
  • 进入目标目录: 使用 pushd 命令来改变当前工作目录,以便在该目录下进行文件操作。
  • 遍历所有图片文件: 使用 for 循环和通配符来匹配所有的图片文件。
  • 生成新的文件名: 使用字符串操作来构造新的文件名。这里我们使用了 Image_ 加上计数器的值,再加上文件的原始扩展名。
  • 重命名文件: 使用 ren 命令来重命名文件。
  • 增加计数器: 在每次循环迭代后,增加计数器的值。
  • for /f "delims=" 确保文件名被正确读取,即使它们包含空格。
  • dir /b 列出所有匹配的文件的基本名称。
  • set "newFileName=Image_!counter!_!oldFileName!" 这里使用了一个稍微不同的方法来获取扩展名,但是请注意,这种方法可能需要根据文件名的实际长度进行微调。
  • 返回原来的工作目录: 使用 popd 命令恢复到脚本开始时的工作目录。
  • 结束脚本: 显示 “Done.” 并暂停等待用户按键。

注意事项

确保在运行脚本前备份你的图片文件,以防万一。

根据你的需求调整文件类型列表。如果图片文件名中有特殊字符或空格,上述脚本应该能够正确处理,因为它使用了 %%~xi 来提取文件扩展名。

这个脚本应该适用于大多数情况,但在运行前最好在一个小样本上测试一下,以确保它按预期工作。

更便捷的工具

对于不会编写脚本的用户来说,使用起来仍然还是不方便,简鹿文件批量重命名工具是一款专为文件和文件夹批量重命名设计的软件,它提供了丰富的功能和直观的用户界面,旨在帮助用户快速、高效地处理大量文件的命名和属性修改需求。这款工具特别适合那些需要频繁对文件或文件夹进行重命名操作的场合,比如办公、摄影、设计、文档管理和软件开发等领域。

http://www.lryc.cn/news/396442.html

相关文章:

  • 基于stm32单片机的智能手环的设计
  • 雷池WAF动态防护功能初体验
  • 持安科技CEO何艺荣获中国信通院2023-2024年度标准卓越贡献奖
  • gitee上传和下载idea项目的流程
  • 【Numpy】np.loadtxt 读取单行数据时报错。(零维数组)
  • Unity之OpenXR+XR Interaction Toolkit实现 Gaze眼部追踪
  • 自然语言处理(NLP)与大语言模型(LLM) 主要差异
  • 智能车载防窒息系统设计
  • 硅纪元视角 | 电信公司出招!AI机器人全面反击AI诈骗电话
  • Java爬虫翻页
  • .net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护
  • 02 源码编译构建LAMP
  • 【Axure视频教程】页面滚动距离函数
  • 【Linux】:程序替换
  • 使用ResizeObserver观察DOM元素的尺寸变化
  • 前端使用Vue和Element实现可拖动弹框效果,且不影响底层元素操作(可拖拽的视频实时播放弹框,底层元素可以正常操作)
  • 文华财经多空K变色支撑压力画线趋势波段指标公式
  • tomcat9漏洞CVE-2024-23672
  • ChatGLM-6B入门
  • 项目实战--Spring Boot + GraphQL实现实时数据推送
  • ASPICE是汽车软件开发中的质量保证流程
  • Linux调试器-gdb使用以及Linux项目自动化构建工具-make/Makefile
  • Html5前端基本知识整理与回顾下篇
  • vmware 虚拟机扩容 centos 硬盘扩容 kylinos v10扩容
  • 什么样的开放式耳机好用?,五大超强卷王单品推荐!
  • java使用poi-tl模版引擎导出word之饼状图生成及循环批量生成饼状图
  • 指定版本ceph-common安装
  • C++语言特性——关键字(static、volatile、extern、const、mutable、inline)
  • 在Ubuntu 16.04上安装和配置VNC的方法
  • @RequestBody注解的使用及源码解析