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...