原文地址: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. requests结合xpath爬取豆瓣最新上映电影

    # -*- coding: utf-8 -*- """ 豆瓣最新上映电影爬取 # ul = etree.tostring(ul, encoding="utf-8 ...

  2. base64 转 Image

    /// <summary> /// base64 转 Image /// </summary> /// <param name="base64"> ...

  3. buuctf@reverse1

    flag{hell0_w0rld}

  4. C语言写数据库(二)

    简单的实现增删查改的操作后,实现了一个先读写其中一个表的某两项内容,再把相关字符段写入到另外一张表中去.涉及到查询和插入两个步骤. 其中还涉及到汉字的读写和插入,会有字符的操作产生乱码.所以要先保证m ...

  5. C++入门经典-例6.14-通过指针连接两个字符数组

    1:字符数组是一个一维数组,引用字符数组的指针为字符指针,字符指针就是指向字符型内存空间的指针变量. char *p; char *string="www.mingri.book" ...

  6. C++入门经典-例2.13-左移运算

    1:代码如下: // 2.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...

  7. TCP 之 TCP首部

    TCP首部图 TCP首部说明 源端口,目的端口 用于寻找发送端和接收端应用进程.(源IP,源端口,目的IP,目的端口) 四元组确定唯一一个TCP连接:(IP,端口)也称为一个插口(socket): 序 ...

  8. 【转载】Linux的五个查找命令

    原文:http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 最近,我在学习 ...

  9. CppCheck介绍与使用

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011012932/article/details/52778149 简述 Cppcheck 是一种 ...

  10. JSP——隐式对象(implicit object)

    Servlet容器将几个对象传递给它所运行的Servlet. 例如,在Servlet的service方法中获得HttpServletRequest和HttpServletResponse,并在init ...