楼 主
[求助]批量按歌手名建立目录把歌曲移动到目录中
发表于 2008-08-20 13:43 · 日本 东京都 千代田区 KDDI公司
初级用户
★
积分 32 发帖 15 注册 2007-08-02 12:44 19年会员 UID 94499 性别 男
状态 离线
现在有几千首歌,文件名是这样的
王力宏 - Forever Love.mp3
王力宏 - I'm Lovin'it.mp3
万芳 - 不换.mp3
现在想根据文件名中的歌手名分别建立文件夹,并把歌曲移到相对应的歌手的目录中去。该怎么来书写此批处理?请高手不吝执教。非常感谢。
第 2 楼
发表于 2008-08-20 13:56 · 中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
@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 楼
发表于 2008-08-20 14:00 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608 发帖 780 注册 2007-10-07 10:19 18年会员 UID 99089 性别 男
状态 离线
for /f "tokens=1* delims=-" %%i in ('dir/b/a-d *.mp3') do (
md %%i 2>nul© "%%i-%%j" %%i
)
有必要可以把copy改成move
[
Last edited by huahua0919 on 2008-8-20 at 02:01 PM ]
第 4 楼
发表于 2008-08-20 14:05 · 日本 东京都 千代田区 KDDI公司
初级用户
★
积分 32 发帖 15 注册 2007-08-02 12:44 19年会员 UID 94499 性别 男
状态 离线
Originally posted by flyinspace at 2008-8-20 01:56 PM:
@echo off & setloacl EnableDelayedExpansion
set "Total=0"
for /f "delims=- tokens=1,* " %%i in (' dir /b *.mp3') do (
set /a "Total+=1"
echo 正在处 ...
老大,目录是有了,歌都没了,欲哭无泪。
第 5 楼
发表于 2008-08-20 14:07 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608 发帖 780 注册 2007-10-07 10:19 18年会员 UID 99089 性别 男
状态 离线
第 6 楼
发表于 2008-08-20 14:09 · 中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
'dir/b/a-d *.mp3'
1。 不明白,既然已经是按。mp3排列了。还要 /a-d做什么?
难道还要排除 *.mp3 的文件夹?
2。 与其大量的md操作还不如验证一下。
3, 按你的代码应该使用 move指令而不是copy。因为你没有del的操作。。
知,不觉多。不知,乃求知
第 7 楼
发表于 2008-08-20 14:11 · 中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
别哭,现在你什么操作都不要做。。
我给你东西。。刚才的代码写错点?不过歌应该被copy到目录下了呀?
知,不觉多。不知,乃求知
第 8 楼
发表于 2008-08-20 14:11 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608 发帖 780 注册 2007-10-07 10:19 18年会员 UID 99089 性别 男
状态 离线
我保险求保险,不在我这边运行,什么都难说。所以说你写的代码虽然你可能执行成功但他却出了问题
1.用.mp3做文件夹更定不会错
2用2 >nul的效率比 if exist的效率高
3就是我上面说的
第 9 楼
发表于 2008-08-20 14:13 · 中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
if exist "%cd%\%%i" del "%%i-%%j"
应该是: if exist "%cd%\%%i\%%i-%%j" del "%%i-%%j"
你的qq是多少?msn也行?
知,不觉多。不知,乃求知
第 10 楼
发表于 2008-08-20 14:14 · 日本 东京都 千代田区 KDDI公司
初级用户
★
积分 32 发帖 15 注册 2007-08-02 12:44 19年会员 UID 94499 性别 男
状态 离线
第 11 楼
发表于 2008-08-20 14:18 · 日本 东京都 千代田区 KDDI公司
初级用户
★
积分 32 发帖 15 注册 2007-08-02 12:44 19年会员 UID 94499 性别 男
状态 离线
Originally posted by huahua0919 at 2008-8-20 02:00 PM:
for /f "tokens=1* delims=-" %%i in ('dir/b/a-d *.mp3') do (
md %%i 2>nul© "%%i-%%j" %%i
)
有必要可以把copy改成move
[ Last edited by hu ...
这位老大的我也试过了,现在问题是目录是建好了,但多了很多额外的空目录。
原来302个文件1.6g左右,copy过去以后只有902m。
不过还是要谢谢2位。
第 12 楼
发表于 2008-08-20 14:19 · 中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
哎。不好意思。
已复制 1 个文件。
有无这个提示??
看来以后代码全加上 if errorlevel
知,不觉多。不知,乃求知
第 13 楼
发表于 2008-08-20 14:20 · 日本 东京都 千代田区 KDDI公司
初级用户
★
积分 32 发帖 15 注册 2007-08-02 12:44 19年会员 UID 94499 性别 男
状态 离线
正在处理第!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 楼
发表于 2008-08-20 14:21 · 中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608 发帖 780 注册 2007-10-07 10:19 18年会员 UID 99089 性别 男
状态 离线
那就是你的文件名结构有问题不能够有特殊字符,不然就成空了,所以我就用copy的原因了
第 15 楼
发表于 2008-08-20 14:21 · 中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206 发帖 517 注册 2007-03-25 01:18 19年会员 UID 82819 性别 男
状态 离线
既然有提示?怎么会文件夹里全是空的呢?
知,不觉多。不知,乃求知
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正