Board logo

标题: 想改mp3文件名 [打印本页]

作者: dosz     时间: 2009-3-14 09:29    标题: 想改mp3文件名

我有一些文件名为
mm-66[www.1234.com].mp3
mm-67[www.1234.com].mp3
mm-68[www.1234.com].mp3
想改成
mm-66.mp3
mm-67.mp3
mm-68.mp3

这个是显示,我知道。不过不知为什么时显示的是 “ mm-66 3 ” “ mm-67 3 ” “ mm-68 3 ”
@echo off
for /f  "tokens=1,2 delims=[www.1234.com]" %%i in ('dir /b *.mp3') do echo %%i %%j
@echo\
pause
ren ?
@echo off
for /f  "tokens=2 delims=[www.1234.com]" %%i in ('dir /b *.mp3') do ren ...
pause
[ Last edited by dosz on 2009-3-14 at 09:35 ]
作者: netbenton     时间: 2009-3-14 09:38
”delims=“ 是把单个字符作为分隔符的,不是串
你想要的结果一个命令就可以了不用那么麻烦:
ren *.mp3 ?????.*
作者: dosz     时间: 2009-3-15 03:29


  Quote:
Originally posted by netbenton at 2009-3-14 09:38:
”delims=“ 是把单个字符作为分隔符的,不是串
你想要的结果一个命令就可以了不用那么麻烦:
ren *.mp3 ?????.*

”delims="分隔符" 可以是一串字符集,请看以下实例:
:: for改mp3文件名
@mode con cols=82 lines=33
@echo off
echo for /f  "tokens=1,2 delims=[www.TopSage.com]" %%i in ('dir /b *.mp3') do echo %%i %%j
for /f  "tokens=1,2 delims=[www.TopSage.com]" %%i in ('dir /b *.mp3') do echo %%i %%j
@echo\
echo for /f "delims=[ tokens=1" %%i in ('dir /b *.mp3') do echo %%i.mp3
for /f "delims=[ tokens=1" %%i in ('dir /b *.mp3') do echo %%i.mp3
@echo\
pause


[ Last edited by dosz on 2009-3-15 at 03:36 ]
附件 1: 未命名.PNG (2009-3-15 03:29, 9.99 K,下载次数: 2)



作者: dosz     时间: 2009-3-15 03:41
re: htnetbenton
你看一下这里 http://cn-dos.net/forum/viewthread.php?tid=46633
作者: netbenton     时间: 2009-3-15 05:23
它是支持字符集,但不是一串,你留意一下,后面的“mp3”,中的“mp”也不见了,
如果你想取的字符串含有字符集中的字符的话也会被分割的。

================================
谢谢,让我明白那个签名是怎么回事了。
作者: 313885174     时间: 2009-3-16 00:38
for /r %%i in (*.mp3) do (
for /l %%j in (1,1,100) do ren %%i mm-%%~j.mp3
)
是这样的么?

[ Last edited by 313885174 on 2009-3-16 at 00:39 ]