从数字1递增批量重命名ren.bat:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set /A num=
FOR /F "tokens=*" %%i in ('dir /A-D /B /OD /TC') do (
IF NOT "%%i"=="%~n0%~x0" (
set /A num+=
ren "%%i" "!num!%%~xi"
)
)
ENDLOCAL
exit

按00001这类格式递增批量重命名ren.bat:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set /A num=
FOR /F "tokens=*" %%i in ('dir /A-D /B /OD /TC') do (
IF NOT "%%i"=="%~n0%~x0" (
set /A num+=
if !num! LSS (
ren "%%i" !num!%%~xi
) ELSE (
if !num! LSS (
ren "%%i" !num!%%~xi
) ELSE (
if !num! LSS (
ren "%%i" !num!%%~xi
) ELSE (
if !num! LSS ren "%%i" !num!%%~xi
)
)
)
)
)
ENDLOCAL
exit

如果觉得0多了,可以用下面的批处理来去掉,默认是去1个,要去多少个就把!name:~1!中的数字1改成要去的个数,改这个批处理要比改前面的批处理方便一些,所以写了这个用:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set name=
FOR /F "tokens=*" %%i in ('dir /A-D /B /OD /TC') do (
IF NOT "%%i"=="%~n0%~x0" (
set name=%%i
set name=!name:~!
ren "%%i" "!name!"
)
)
ENDLOCAL
exit

上面的批处理要和文件放在一个目录里,命名后删除批处理文件即可。 
  
直接使用dir的话,缺点是重命名的时候把批处理本身及子文件夹也改名了,而且 
所得文件名字不能连续排序(批处理文件可能占了中间某个序号),因此用dir参 
数进行排除文件夹内的子文件夹以及排序(排序目的就是把批处理排到最后)。 
  
还有就是重名现象不好解决,如果原来已经含有一个重命名后可能会出现的名称, 
名称被占用了程序就不能继续运行。可以事先用系统的重命名功能命名一次,方 
法是选择要重命名的所有文件,Ctrl+a或者选择第一个再按住Shift不放,再选最 
后一个进行连续选择,右键点击其中一个文件,选择重命名,然后随便写一个名 
字,你将看到系统的批量命名是以括号内数字递增的。 
  
  
排序参数的说明: 
下面这行 
FOR /F "tokens=*" %%i in ('dir /A-D /B /OD /TC') do ( 
中的/OD参数是按时间排序,使用的时候把批处理文件复制到文件夹里,那么批处 
理文件的创建时间就是最后的了,解决了文件连续的问题。 
  
如果用/O-E也可以,这样也能使批处理文件排在最后(扩展名是bat,b的优先级高, 
用-号来颠倒顺序)。 
  
/OD后再加/TC更准确些。 
  
dir中/O和/T参数的说明: 
/O           用分类顺序列出文件。 
sortorder    N  按名称(字母顺序)     S  按大小(从小到大) 
              E  按扩展名(字母顺序)   D  按日期/时间(从先到后) 
              G  组目录优先           -  颠倒顺序的前缀

/T           控制显示或用来分类的时间字符域。 
timefield    C  创建时间 
              A  上次访问时间 
              W  上次写入的时间 
  
for会自动去掉空行的,所以参数肯定不为空。

参考:

http://www.newsmth.net/nForum/#!article/DOS/17370

log.csdn.net/liujishen/article/details/4490859

http://www.cnblogs.com/shiney/archive/2011/07/04/2097236.html

windows 批处理-重命名的更多相关文章

  1. 【VS开发】cmd dos 批处理重命名文件

    原文地址:http://hi.baidu.com/benchoi/item/c1f531f5f1367b0b85d2785b 批处理实现文件批量重命名并自动加递增序列号 有时我们想把一些图片批量重命名 ...

  2. bat批处理重命名问题

    因为要重命名的字符串中有文字,导致重命名出来的文件名都变为乱码了,查理一下需要加两句话 1. @Echo Off Chcp 65001>nul SetLocal EnableDelayedExp ...

  3. windows下重命名一个带有前缀"."dot字符的名字的错误问题

    如果用正常的右键重命名那么肯定会报错的,比如: 有一个名为project的文件,我想把它命名为.project,加了个前缀dot.然后window就报错了,弹出个对话框让“你必须输入一个文件名”.它可 ...

  4. git Windows下重命名文件,大小写敏感问题

    作为一个重度强迫症患者,是不忍受文件名,有字母大小拼写错误的,但是在git下,已是受控版本文件要改过来,要费些周章了. 一.环境 Widnows + git version 2.24.0 + Tort ...

  5. 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交

    git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...

  6. 当git上文件名大小写重命名的修改时(git大小写敏感/默认不敏感),如何重命名并提交

    git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...

  7. git重命名文件和文件夹

    git mv -f oldfolder newfoldergit add -u newfolder (-u选项会更新已经追踪的文件和文件夹)git commit -m "changed th ...

  8. windows dos 批量重命名文件

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

  9. (转)Windows重启延迟删除,重命名技术原理

    所谓重启延迟删除技术,就是在操作系统启动前删除或者替换文件! 说起重启延迟删除,大家可能都很陌生,但是实际上,该功能已经被各种软件所采用:如安装Windows 补丁程序(如:HotFix.Servic ...

随机推荐

  1. Knockout自定义绑定my97datepicker

    /* my97datepicker 时间格式'yyyy-MM-dd HH-mm-ss' */ ko.bindingHandlers.datetimes = { init: function (elem ...

  2. Xiuno BBS 3.0 轻论坛程序正式版发布。

    github:git clone -b v3.0 https://git.oschina.net/xiuno/xiunobbs 安装包:http://bbs.xiuno.com/down/xiuno_ ...

  3. jQuery写缓存之:sessionStorage的运用,配合PHP将不同tab页的数据写入后台

    JS(jQuery)写缓存之:sessionStorage的运用: 结果就是讲存储的DOM对象value传到后台PHP,进行foreach(){} 解析JSON成二维数组 示例页面:http://ww ...

  4. 老毛桃pe装机工具备份系统

    电脑故障可以说是难以避免的,误操作或者修改了哪个设置系统就莫名其妙崩溃了.这在日常使用当中并不鲜见,许多用户就会寻求备份系统方法.有没有好的一键备份系统教程可以参考呢?在本篇教程中,就容我跟大家讲讲怎 ...

  5. HDUOJ---Hamming Distance(4712)

    Hamming Distance Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) ...

  6. 【LeetCode】24. Swap Nodes in Pairs (3 solutions)

    Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For exam ...

  7. 【LeetCode】49. Anagrams (2 solutions)

    Anagrams Given an array of strings, return all groups of strings that are anagrams. Note: All inputs ...

  8. MVC中JSON字符长度超出限制

    本文导读:在MVC中通过JsonResult返回JSON字符串时,如果字符串长度过长,会抛出使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 ...

  9. Android Scrollview嵌套RecyclerView导致滑动卡顿问题解决

    一个比较长的界面一般都是Scrollview嵌套RecyclerView来解决.不过这样的UI并不是我们开发人员想看到的,实际上嵌套之后.因为Scrollview和RecyclerView都是滑动控件 ...

  10. Fort.js – 时尚、现代的进度提示效果

    Fort.js 是表单填写进度提示效果的 JavaScript 库.使用很easy. 提供了Default.Gradient.Sections 以及 Flash 四种效果 用Fort.js非常easy ...