原文地址:http://hi.baidu.com/benchoi/item/c1f531f5f1367b0b85d2785b

批处理实现文件批量重命名并自动加递增序列号

有时我们想把一些图片批量重命名的时候,可能会想到用acdsee7.0以上的版本来实现。也有人可能会在我的电脑里,打开文件夹,全选图片文件,然后按着ctrl键不放,在第一个图片上右健单击重命名,放开左健,把文件的文件名了文件类型写好,如list.jpg。你写好文件名好,把鼠标住空白处一点,就批量改成了list(1).jpg、list(2).jpg、list(3).jpg这样。说实在的,我很讨厌生成的那个小括号,一点美感都没有。

用ACDSEE当然可以根据我的要的方法来重命名,但在我们没有装ACDSEE的时候,我们其实可以利用批处理的方法实现,将以下代码复制到记事本,保存为ren.bat,双击执行就OK啦!

@echo off&setlocal EnableDelayedExpansion 

set a=1 

for /f "delims=" %%i in ('dir /b *.jpg') do ( 

if not "%%~ni"=="%~n0" ( 

if !a! LSS 10 (ren "%%i" "list0!a!.jpg") else ren "%%i" "list!a!.jpg" 

set/a a+=1 



)

如果你要重命名的文件的类型为jpg图片,那么以下就是实现批量修改jpg图片的批处理语句!

如果是其它的文件类型,就相应把把 *.jpg    改成 *.文件后缀 就OK啦,如果文件名不想以list开始,就把list改掉就OK了。

其实懂点编程的人,还可以根据上面的语句来写出更多重命名的批处理。

---

1、按名称进行编号

1
2
3
4
5
6
7
8
9
10
@echo off
setlocal enabledelayedexpansion
for /f %%k in ('dir /ad /b'do (
set icount=0
for /f %%j in ('dir /a-d /b /on !cd!\%%k\*.jpg'do (
set /a icount=icount+1
echo 已改名%%j
ren %cd%\%%k\%%j %%k_!icount!.jpg
)
)

2、按文件大小进行编号

1
2
3
4
5
6
7
8
9
10
@echo off
setlocal enabledelayedexpansion
for /f %%k in ('dir /ad /b'do (
set icount=0
for /f %%j in ('dir /a-d /b /os !cd!\%%k\*.jpg'do (
set /a icount=icount+1
echo 已改名%%j
ren %cd%\%%k\%%j %%k_!icount!.jpg
)
)

3、按日期进行编号

1
2
3
4
5
6
7
8
9
10
@echo off
setlocal enabledelayedexpansion
for /f %%k in ('dir /ad /b'do (
set icount=0
for /f %%j in ('dir /a-d /b /od !cd!\%%k\*.jpg'do (
set /a icount=icount+1
echo 已改名%%j
ren %cd%\%%k\%%j %%k_!icount!.jpg
)
)

---

added by ZhangpY:

实在是头疼的一件事情,不太懂这个dos命令,居然一不小心弄了个一上午,也是醉了!

下面总结几个必须要加强的几个内容,否则总是会被这些小事儿给弄折了腰!

windows下的批处理文件的熟练掌握!

Linux下的批处理文件的熟练掌握!

Python工具的熟练掌握!

---

2016-9-21 11:24

张朋艺 pyZhangBIT2010@126.com

【VS开发】cmd dos 批处理重命名文件的更多相关文章

  1. windows dos 批量重命名文件

    描述 在工作中经常出现 在同一目录下有一些 很多相同扩展名的文件但是名字看起来很乱各不同,我们想将它们统一重命名一下统一的格式,如果一个个去改名字太麻烦了. 这里我门就可以使用windows下 dos ...

  2. cmd - 批量重命名文件

    相信大家或多或少都遇到过类似的情况:从网上下载了好多图片(或者其他的文件),这些图片的名字往往都是些乱七八糟的字母数字的组合,我们想要一次性修改几十张上百张的图片的名字应该怎么办呢? 这里有两种方法, ...

  3. 使用CMD实现批量重命名[转]

    关键字:cmd DOS 批处理 批量 重命名 作者:lifesinger地址:http://www.cnblogs.com/txw1958/archive/2012/12/24/cmd-batch-r ...

  4. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

  5. Git使用七:修改最后一次提交、删除文件和重命名文件

    修改最后一次提交: 在实际开发中,可能会遇到以下两种情景:情景一:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add).情景二:版本刚一提交(commit)到仓库,突然想起版本 ...

  6. 怎样用bat批量重命名文件夹和文件

    很早以前本人写过重命名文件夹的文章,发现其中稍有不完善的地方,其主要功能在文件夹名前统一加上字符,或者在文件夹名后统一加上字符,有网友反应功能太单一.今天我又仔细研究了一下bat批处理代码,分别能完全 ...

  7. VC 复制移动删除重命名文件文件

    说明: 1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile 2.每个函数都先拷贝了原来的路径,保证了路径是以2个\0\0结尾.(如果不以2个\ ...

  8. Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

    (13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...

  9. Web 在线文件管理器学习笔记与总结(7)重命名文件

    rename($oldname,$newname) 重命名文件或目录 <<<EOF EOF; 使用heredoc 技术,来部分实现界面与代码的准分离 重命名时,需要验证新文件名的合法 ...

随机推荐

  1. 红帽Linux故障定位技术详解与实例(3)

    红帽Linux故障定位技术详解与实例(3)   在线故障定位就是在故障发生时, 故障所处的操作系统环境仍然可以访问,故障处理人员可通过console, ssh等方式登录到操作系统上,在shell上执行 ...

  2. 【LuoguP4887】第十四分块(前体)

    题目链接 题意 区间两数异或在二进制下有 \(k\) 个 \(1\) 的对数. Sol 普通莫队的话,如果要实时维护好区间内的答案需要支持区间对一个数求答案. 直接做不是很好做,容易发现其实这也就是一 ...

  3. SVN各种错误提示产生原因及处理方法大全

    SVN各种错误提示产生原因及处理方法大全 SVN各种错误提示产生原因及处理方法大全 1. svn: Server sent unexpected return value (500 Internal ...

  4. jquery attribute$=value选择器 语法

    jquery attribute$=value选择器 语法 作用:[attribute$=value] 选择器选取每个带有指定属性且以指定字符串结尾的元素. 语法:$("[attribute ...

  5. T级别视频上传解决方案

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  6. Android 一般动画animation和属性动画animator

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  7. R_Studio(学生成绩)对数据进行属性构造处理

    对“Gary.csv”中数据进行进行属性构造处理,增加“总成绩”属性 Gary.csv setwd('D:\\data') list.files() #数据读取 dat=read.csv(file=& ...

  8. vue-router中,require代替import解决vue项目首页加载时间过久的问题

    vue的路由配置文件(routers.js),一般使用import引入的写法,当项目打包时路由里的所有component都会打包在一个js中,在项目刚进入首页的时候,就会加载所有的组件,所以导致首页加 ...

  9. JavaWeb--Servlet 详解

    一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互.这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求后 ...

  10. 使用oracle删除表中重复记录

    (1)使用用rowid方法 查询重复数据:select * from person a where rowid !=(select max(rowid) from person b where a.c ...