Board logo

标题: 批量更改文件名 [打印本页]

作者: lcgroger     时间: 2007-7-5 14:00    标题: 批量更改文件名
我想批量更改所有的.mp3文件如何改啊?

文件名是没有规律的,但我想把它们都改成有规律性的

如:把 alsdkfj12.mp3, uoqor.mp3, .... oqwue.mp3 改成为 lcgroger001.mp3, lcgroger002.mp3, .... lcgroger999.mp3

请高手指点!

作者: ccwan     时间: 2007-7-5 14:33
@echo off&setlocal enabledelayedexpansion
cd.>1.txt
dir/b *.mp3>>1.txt
for /f "tokens=1* delims=:" %%i in ('findstr /n .* 1.txt') do (
set var=00%%i
set var=!var:~-3!
echo ren %%j lcgroger!var!.mp3
)
pause


试运行一下,没有问题的话,将 echo ren %%j lcgroger!var!.mp3 中的echo去掉就可以了。

作者: p1509101     时间: 2007-7-5 17:04
我试了下 说命令错误

作者: ccwan     时间: 2007-7-5 17:11
加上双引号,防止文件名中有空格时出错。

@echo on&setlocal enabledelayedexpansion
cd.>1.txt
dir/b *.mp3>>1.txt
for /f "tokens=1* delims=:" %%i in ('findstr /n .* 1.txt') do (
set var=00%%i
set var=!var:~-3!
ren "%%j" lcgroger!var!.mp3
)
pause


Last edited by ccwan on 2007-7-5 at 05:18 PM ]

作者: zxlxsqzy     时间: 2007-7-5 17:30
@echo on&setlocal enabledelayedexpansion
cd.>1.txt
dir/b *.mp3>>1.txt
for /f "tokens=1* delims=:" %%i in ('findstr /n .* 1.txt') do (
set var=00%%i
set var=!var:~-3!
ren "%%j" lcgroger!var!.mp3
)
pause

我想请问一下,这里为什么用!var!

作者: ccwan     时间: 2007-7-5 18:17
re zxlxsqzy
兄可以搜索一下“变量延迟”,看一下批处理达人是如何解释的。

作者: htun     时间: 2007-7-6 12:50
把全部mp3选中 然后在第一个上右键 选择重命名 改为cgroger.mp3 其它的就自动改好了cgroger001.mp3 cgroger002.mp3.........

作者: ccwan     时间: 2007-7-6 13:40
re htun
好像兄的方法命名的文件名是(1) (2)(3)...的形式,不是001 002 003...