原文地址: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图片的批处理语句!
如果是其它的文件类型,就相应把把
其实懂点编程的人,还可以根据上面的语句来写出更多重命名的批处理。
---
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