从数字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. 3、eclipse 查看原始类出现The jar file rt.jar has no source attachment解决方法

    因为rt的source在jdk目录的src.zip文件里,将文件设置为jdk下的src.zip就行了.具体如下 Window>Preferences>Java>Installed J ...

  2. 列表生成式&生成器表达式

    一.列表生成式 def func(): return [lambda x:i*x for i in range(4)] print([j(2) for j in func()]) 结果:[6,6,6, ...

  3. HDUOJ---------(1045)Fire Net

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  4. Warning: RPMDB altered outside of yum.的解决办法

    错误提示: Warning: RPMDB altered outside of yum 解决办法: 删除yum的历史记录rm -rf /var/lib/yum/history/*.sqlite 上面的 ...

  5. JMeter学习笔记---性能分析

    图像结果: 通过观察平均采样响应时长,用户可以直观地看到,随着并发压力的加大,以及性能测试时间的延长,系统性能所发生的变化.正常情况下,平均采样响应时长曲线应该是平滑的,并大致平行于图像下边界. 异常 ...

  6. 转:C#实现office文档转换为PDF或xps的一些方法

    代码支持任意office格式 需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFandXPS 下载地址 [url]http://www.microsoft ...

  7. Linux中断 - IRQ Domain介绍

    一.概述 在linux kernel中,我们使用下面两个ID来标识一个来自外设的中断: 1.IRQ number.CPU需要为每一个外设中断编号,我们称之IRQ Number.这个IRQ number ...

  8. 使用 C# 开发智能手机软件:推箱子(十四)

    这是"使用 C# 开发智能手机软件:推箱子"系列文章的第十四篇.在这篇文章中,介绍 Window/ErrorMsgDlg.cs 源程序文件.这个源程序文件包括 ErrorMsgDl ...

  9. 锻造完美U盘小偷:活用消息机制

    锻造完美U盘小偷:活用消息机制作者:灰狐来源:灰狐's Blog 注:本文已发表在<黑客防线>2008年第1期,转载请注明出处. 以前经常看到有人做出一些蛮有意思的小工具,其中最多的似乎就 ...

  10. Python log() 函数

    描述 log() 方法返回x的自然对数,x > 0. 语法 以下是 log() 方法的语法: import math math.log( x ) 注意:log()是不能直接访问的,需要导入 ma ...