标题: [文件操作] 查看一个批量截取文件名批处理的错误 [打印本页]
作者: dingding3224 时间: 2010-5-15 20:37 标题: 查看一个批量截取文件名批处理的错误
-
- @echo off
- color f3
- title 批量改名
- echo. 程序正在执行....
- setlocal enableDelayedExpansion
- for /f "delims=" %%m in ('dir /a:-d /b *.mp3') do (
- echo %%m&&set fn=%%m&&set name=!fn:~20!
- call echo %%name%%&&rename %%m %%name%%
- )
- echo. 执行成功!
- pause>nul
- goto :eof
复制代码
请各位大虾看看这个批处理哪里错了,还有为达到相同效果有没有更好的代码。。。。。
作者: sgaizxt001 时间: 2010-5-15 22:12
- @echo off
- for /f "delims=" %%i in ('dir /b /a-d *.mp3') do (
- setlocal enabledelayedexpansion
- set str=%%~nxi
- set stt=!str:【额外赠送】【9小时快学国际音标】=!
- call ren !str! !stt!
- endlocal
- )
复制代码
如果你的MP3全部是你贴的图片那样的名字的话,这个或许可以满足你的要求
批量改名的需求太多了,每个人遇到的又不大相同,根据自己的情况来写一个简单点的就OK。
作者: hanyeguxing 时间: 2010-5-16 11:07
- @echo off&color f3&title 批量改名&echo. 程序正在执行....
- for /f "tokens=1,2* delims=【】" %%a in ('dir /a:-d /b *.mp3') do echo.正在重命名【%%a】【%%b】%%c为%%c&ren "【%%a】【%%b】%%c" "%%c"
- echo. 执行成功!&pause>nul
复制代码
[ 本帖最后由 hanyeguxing 于 2010-5-16 11:10 编辑 ]
作者: dingding3224 时间: 2010-5-17 10:53 标题: 回复 3楼 的帖子
谢谢了。。。。3楼的正确 2楼理论正确实际执行有点困难。。。不过还是谢谢
for /f "delims=" %%m in ('dir /a:-d /b *.mp3') do (
set fn=%%m
set name=!fn:~20!
call rename !fn! !name!
)
对于for语句中的内部循环,不是很清楚。没有经过正规的学习,都是靠自己学习。。。不明白。。。这个里面为什么命令格式不正确??
[ 本帖最后由 dingding3224 于 2010-5-17 11:06 编辑 ]
作者: hanyeguxing 时间: 2010-5-17 13:55
原帖由 dingding3224 于 2010-5-17 10:53 发表
谢谢了。。。。3楼的正确 2楼理论正确实际执行有点困难。。。不过还是谢谢
for /f "delims=" %%m in ('dir /a:-d /b *.mp3') do (
set fn=%%m
set name=!fn:~20!
call rename !fn! !name!
)
对于for语句中的内 ...
单纯从语法来说,1楼的代码该这样写:- @echo off
- color f3
- title 批量改名
- echo. 程序正在执行....
- setlocal enableDelayedExpansion
- for /f "delims=" %%m in ('dir /a:-d /b *.mp3') do (
- set fn=%%m
- set fn=!fn:~20!
- echo.正在重命名 "%%m" 为 "!fn!"
- rename "%%m" "!fn!"
- )
- echo. 执行成功!
- pause>nul
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |