标题: [文件操作] 批处理如何批量重命名文件? [打印本页]
作者: zhangchuanwei 时间: 2009-11-29 18:59 标题: 批处理如何批量重命名文件?
本人有大量的txt文件,要求重命名的格式为aaa1.txt aaa2.txt。。。。。
如何写代码,大家帮帮忙
作者: qq1063971928 时间: 2009-11-29 19:27
内容
沙发- @echo off
- set n=
- setlocal enabledelayedexpansion
-
- for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
- set /a n+=1
- ren "%%i" aaa!n!.txt
-
- )
复制代码
作者: cryfordog 时间: 2009-11-30 00:09
-
- @echo off
- setlocal enabledelayedexpansion
- for /r %%i in (*.txt) do (
- set /a n+=1
- ren "%%~nxi" aaa!n!.txt
- )
- pause
复制代码
存放于txt文件所在的文件夹
作者: zqz0012005 时间: 2009-11-30 22:44 标题: 回复 3楼 的帖子
多次提过,文件名有变动时,建议不要用for /d、for /r,而改为用for /f 解析dir的输出。
原因:http://www.bathome.net/viewthrea ... amp;page=1#pid41660
作者: bluewing009 时间: 2009-12-1 17:57 标题: 给出一个广泛的例子
面向面更广泛,请按说明修改.- @echo off
- echo 开始重命名.......
- set extension=.rar
- ::在这里设置文件类型
- set /a sum=0
- for %%m in (*) do (
- if not "%%m"=="change.bat"(
- ren %%m %%m%extension%
- set /a sum=sum+1
- )
- )
- echo 文件名重命名完成。
- echo.
- echo 共重命名%sum%个。
- set sum=
- set extension=
- ::变量还原,以免干扰别的bat 不过更建议使用 setlocal和endlocal.
复制代码
没有测试.......不知正确性
[ 本帖最后由 bluewing009 于 2009-12-1 18:01 编辑 ]
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |