中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批量按歌手名建立目录把歌曲移动到目录中
« [1] [2] [3] »
作者:
标题: [求助]批量按歌手名建立目录把歌曲移动到目录中 上一主题 | 下一主题
iuiu
初级用户





积分 32
发帖 15
注册 2007-8-2
状态 离线
『楼 主』:  [求助]批量按歌手名建立目录把歌曲移动到目录中

现在有几千首歌,文件名是这样的
王力宏 - Forever Love.mp3
王力宏 - I'm Lovin'it.mp3
万芳 - 不换.mp3
现在想根据文件名中的歌手名分别建立文件夹,并把歌曲移到相对应的歌手的目录中去。该怎么来书写此批处理?请高手不吝执教。非常感谢。

2008-8-20 13:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 2 楼』:  

@echo off & setlocal EnableDelayedExpansion
set "Total=0"
for /f "delims=- tokens=1,* " %%i in (' dir /b *.mp3') do (
     set /a "Total+=1"
     echo 正在处理第!Total!首歌:[%%i-%%j]
     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 处理完毕,共处理[!Total!]首歌~!&pause>nul

严谨的书写方式应该如上。。。。

[ Last edited by flyinspace on 2008-8-20 at 02:40 PM ]



知,不觉多。不知,乃求知
2008-8-20 13:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 3 楼』:  


for /f "tokens=1* delims=-" %%i in ('dir/b/a-d *.mp3') do (
md %%i 2>nul&copy "%%i-%%j" %%i
)
有必要可以把copy改成move

[ Last edited by huahua0919 on 2008-8-20 at 02:01 PM ]

2008-8-20 14:00
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
iuiu
初级用户





积分 32
发帖 15
注册 2007-8-2
状态 离线
『第 4 楼』:  



  Quote:
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 正在处 ...

老大,目录是有了,歌都没了,欲哭无泪。

2008-8-20 14:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 5 楼』:  

2楼玩大了。

2008-8-20 14:07
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 6 楼』:  

'dir/b/a-d *.mp3'

1。 不明白,既然已经是按。mp3排列了。还要 /a-d做什么?
难道还要排除 *.mp3 的文件夹?

2。 与其大量的md操作还不如验证一下。

3, 按你的代码应该使用 move指令而不是copy。因为你没有del的操作。。



知,不觉多。不知,乃求知
2008-8-20 14:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 7 楼』:  

别哭,现在你什么操作都不要做。。

我给你东西。。刚才的代码写错点?不过歌应该被copy到目录下了呀?



知,不觉多。不知,乃求知
2008-8-20 14:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 8 楼』:  

我保险求保险,不在我这边运行,什么都难说。所以说你写的代码虽然你可能执行成功但他却出了问题
1.用.mp3做文件夹更定不会错
2用2 >nul的效率比 if exist的效率高
3就是我上面说的

2008-8-20 14:11
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 9 楼』:  

if exist "%cd%\%%i" del "%%i-%%j"

应该是: if exist "%cd%\%%i\%%i-%%j" del "%%i-%%j"

你的qq是多少?msn也行?



知,不觉多。不知,乃求知
2008-8-20 14:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
iuiu
初级用户





积分 32
发帖 15
注册 2007-8-2
状态 离线
『第 10 楼』:  

目录都建好了,但是文件都没了,文件夹都是空的。

2008-8-20 14:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iuiu
初级用户





积分 32
发帖 15
注册 2007-8-2
状态 离线
『第 11 楼』:  



  Quote:
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&copy "%%i-%%j" %%i
)
有必要可以把copy改成move

[ Last edited by hu ...

这位老大的我也试过了,现在问题是目录是建好了,但多了很多额外的空目录。
原来302个文件1.6g左右,copy过去以后只有902m。

不过还是要谢谢2位。

2008-8-20 14:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 12 楼』:  

哎。不好意思。

已复制         1 个文件。

有无这个提示??

看来以后代码全加上 if errorlevel



知,不觉多。不知,乃求知
2008-8-20 14:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
iuiu
初级用户





积分 32
发帖 15
注册 2007-8-2
状态 离线
『第 13 楼』:  

正在处理第!Total!首歌:[タッキー&翼 - 夢物誾.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[ポルノグラフィティ - シスター.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[ポルノグラフィティ - ジョバイロ.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[ポルノグラフィティ - メリッサ.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[ポルノグラフィティ - 愛が呼ぶほうへ.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[ポルノグラフィティ - 黄昏ロマンス.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[マキシマム ザ ホルモン - What's Up. People!.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[モンゴル800 - ヨロコビノウタ.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[モーニング娘。 - 愛あらばit's All Right.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[リップスライム - Galaxy.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[レミオロメン - 粉雪.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[坂本真绫 - 奇迹の海.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[奥井雅美 - But But But.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[奥井雅美 - Secret~誰かのメッセージ~.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[奥井雅美 - Someday.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[奥井雅美 - 雨のfaraway.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[安室奈美恵 - All For You.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[安室奈美恵 - Girl Talk.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[安室奈美恵 - The Speed Star.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[安室奈美恵 - White Light.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[安室奈美惠 - Chase The Chance.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[爱 - 小虎队.mp3]
已复制         0 个文件。
正在处理第!Total!首歌:[阿桑 - 寂寞在唱歌.mp3]
已复制         0 个文件。
处理完毕,共处理[!Total!]首歌~!

[ Last edited by iuiu on 2008-8-20 at 02:25 PM ]

2008-8-20 14:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 14 楼』:  

那就是你的文件名结构有问题不能够有特殊字符,不然就成空了,所以我就用copy的原因了

2008-8-20 14:21
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 15 楼』:  

既然有提示?怎么会文件夹里全是空的呢?



知,不觉多。不知,乃求知
2008-8-20 14:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: