![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 11:33 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]批量按歌手名建立目录把歌曲移动到目录中 |
| 可打印版本 2,729 / 36 |
| 第1楼 iuiu | 发表于 2008-08-20 13:43 |
| 初级用户 发帖 15 积分 32 | |
|
[求助]批量按歌手名建立目录把歌曲移动到目录中 现在有几千首歌,文件名是这样的
王力宏 - Forever Love.mp3 王力宏 - I'm Lovin'it.mp3 万芳 - 不换.mp3 现在想根据文件名中的歌手名分别建立文件夹,并把歌曲移到相对应的歌手的目录中去。该怎么来书写此批处理?请高手不吝执教。非常感谢。 |
|
| 第2楼 flyinspace | 发表于 2008-08-20 13:56 |
| 银牌会员 发帖 517 积分 1,206 | |
|
@echo off & setlocal EnableDelayedExpansion
set "Total=0" for /f "delims=- tokens=1,* " %%i in (' dir /b *.mp3') do ( set /a "Total+=1" echo 正在处理第!Total!首歌: if not exist "%%i" md "%%i" if exist "%%i-%%j" copy "%%i-%%j" "%cd%\%%i" if exist "%cd%\%%i\%%i-%%j" del "%%i-%%j" ) echo 处理完毕,共处理首歌~!&pause>nul 严谨的书写方式应该如上。。。。 [ Last edited by flyinspace on 2008-8-20 at 02:40 PM ] |
|
| 第3楼 huahua0919 | 发表于 2008-08-20 14:00 |
| 银牌会员 发帖 780 积分 1,608 | |
|
有必要可以把copy改成move [ Last edited by huahua0919 on 2008-8-20 at 02:01 PM ] |
|
| 第4楼 iuiu | 发表于 2008-08-20 14:05 |
| 初级用户 发帖 15 积分 32 | |
Originally posted by flyinspace at 2008-8-20 01:56 PM: 老大,目录是有了,歌都没了,欲哭无泪。 |
|
| 第5楼 huahua0919 | 发表于 2008-08-20 14:07 |
| 银牌会员 发帖 780 积分 1,608 | |
|
2楼玩大了。
|
|
| 第6楼 flyinspace | 发表于 2008-08-20 14:09 |
| 银牌会员 发帖 517 积分 1,206 | |
|
'dir/b/a-d *.mp3'
1。 不明白,既然已经是按。mp3排列了。还要 /a-d做什么? 难道还要排除 *.mp3 的文件夹? 2。 与其大量的md操作还不如验证一下。 3, 按你的代码应该使用 move指令而不是copy。因为你没有del的操作。。 |
|
| 第7楼 flyinspace | 发表于 2008-08-20 14:11 |
| 银牌会员 发帖 517 积分 1,206 | |
|
别哭,现在你什么操作都不要做。。
我给你东西。。刚才的代码写错点?不过歌应该被copy到目录下了呀? |
|
| 第8楼 huahua0919 | 发表于 2008-08-20 14:11 |
| 银牌会员 发帖 780 积分 1,608 | |
|
我保险求保险,不在我这边运行,什么都难说。所以说你写的代码虽然你可能执行成功但他却出了问题
1.用.mp3做文件夹更定不会错 2用2 >nul的效率比 if exist的效率高 3就是我上面说的 |
|
| 第9楼 flyinspace | 发表于 2008-08-20 14:13 |
| 银牌会员 发帖 517 积分 1,206 | |
|
if exist "%cd%\%%i" del "%%i-%%j"
应该是: if exist "%cd%\%%i\%%i-%%j" del "%%i-%%j" 你的qq是多少?msn也行? |
|
| 第10楼 iuiu | 发表于 2008-08-20 14:14 |
| 初级用户 发帖 15 积分 32 | |
|
目录都建好了,但是文件都没了,文件夹都是空的。
|
|
| 第11楼 iuiu | 发表于 2008-08-20 14:18 |
| 初级用户 发帖 15 积分 32 | |
Originally posted by huahua0919 at 2008-8-20 02:00 PM: 这位老大的我也试过了,现在问题是目录是建好了,但多了很多额外的空目录。 原来302个文件1.6g左右,copy过去以后只有902m。 不过还是要谢谢2位。 |
|
| 第12楼 flyinspace | 发表于 2008-08-20 14:19 |
| 银牌会员 发帖 517 积分 1,206 | |
|
哎。不好意思。
已复制 1 个文件。 有无这个提示?? 看来以后代码全加上 if errorlevel |
|
| 第13楼 iuiu | 发表于 2008-08-20 14:20 |
| 初级用户 发帖 15 积分 32 | |
|
正在处理第!Total!首歌:
已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 正在处理第!Total!首歌: 已复制 0 个文件。 处理完毕,共处理首歌~! [ Last edited by iuiu on 2008-8-20 at 02:25 PM ] |
|
| 第14楼 huahua0919 | 发表于 2008-08-20 14:21 |
| 银牌会员 发帖 780 积分 1,608 | |
|
那就是你的文件名结构有问题不能够有特殊字符,不然就成空了,所以我就用copy的原因了
|
|
| 第15楼 flyinspace | 发表于 2008-08-20 14:21 |
| 银牌会员 发帖 517 积分 1,206 | |
|
既然有提示?怎么会文件夹里全是空的呢?
|
|
| 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |