中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 07:03
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 排序mp3播放顺序,可处理长文件和含空格的文件名
可打印版本  2,333 / 10
第1楼 thisiscx 发表于 2007-11-14 12:06
新手上路 发帖 6 积分 11
排序mp3播放顺序,可处理长文件和含空格的文件名
我编写的用dos批处理排序mp3播放顺序。请指正。
通常播放的顺序即为复制的顺序。因此,控制歌曲文件向U盘或mp3播放器的复制顺序即可产生按指定顺序播放的效果。顺序可以为修改时间、文件大小、文件名、扩展名的正反序。排序方式在dir的参数/O中指定,/O-d为将优先复制修改时间最新的文件。更多的排序方式参见dir /?中/O的内容。
在本示例批处理中默认U盘(或mp3播放器)盘符为J:。在D:有d:\music文件夹,歌曲文件在d:\music中。示例批处理lcopy.bat的内容为:

rem 批处理文件名:lcopy.bat
rem 功能:按指定顺序复制文件,顺序可以为修改时间、文件大小、文件名、扩展名的正反序
rem 排序方式在dir的参数/O中指定,/O-d为将优先复制修改时间最新的文件
rem 典型应用:按指定顺序复制mp3文件到U盘,通常复制的顺序即为播放的顺序
rem 参数:默认U盘盘符为J:。在D:有d:\music文件夹,mp3文件在d:\music中
@echo 按指定顺序复制mp3文件到U盘.............................................................
d:
cd\music
if exist (lcopy.txt) del lcopy.txt
dir /o-d /b >lcopy.txt
FOR /F "delims=;" %%i in (lcopy.txt) do copy /y "%%i" j:\music
del lcopy.txt
@echo 复制结束...............................................................................
第2楼 lxmxn 发表于 2007-11-14 16:14
版主 发帖 4,938 积分 11,386
这个命令就可以搞定了:
第3楼 zh159 发表于 2007-11-15 09:20
金牌会员 发帖 1,467 积分 3,687
需要修改的地方:

既然用“>lcopy.txt”,那就可以不用“if exist (lcopy.txt) del lcopy.txt”,如果单纯用“dir /o-d /b >lcopy.txt”生成列表,会连新生成的“lcopy.txt”也会加入,改为“dir /o-d /b *.mp3>lcopy.txt”
第4楼 thisiscx 发表于 2007-11-15 16:26
新手上路 发帖 6 积分 11
谢谢lxmxn版主和zh159大侠。
第5楼 thisiscx 发表于 2007-11-15 16:43
新手上路 发帖 6 积分 11
请问一下,按lxmxn版主的语句执行时提示找不到文件,因为实际执行时“”中只有文件名,没有路径名,请问应该怎么办?
第6楼 lxmxn 发表于 2007-11-15 18:06
版主 发帖 4,938 积分 11,386
应该不会出现这个问题的,你是写成“D:\music”这个形式的么?
第7楼 thisiscx 发表于 2007-11-16 12:20
新手上路 发帖 6 积分 11
Originally posted by lxmxn at 2007-11-15 18:06:
应该不会出现这个问题的,你是写成“D:\music”这个形式的么?


我是将你的语句复制下来,去掉了/s/a-d后直接用的。有问题吗?
第8楼 lxmxn 发表于 2007-11-16 12:41
版主 发帖 4,938 积分 11,386
当然有问题了。
你如果去掉的话,就这样吧:
第9楼 thisiscx 发表于 2007-11-19 10:27
新手上路 发帖 6 积分 11
明白了,谢谢lxmxn版主
第10楼 thisiscx 发表于 2009-02-02 17:30
新手上路 发帖 6 积分 11
请问,怎样用copy命令按随机顺序复制文件呢?
第11楼 523066680 发表于 2009-02-02 18:27
银牌会员 发帖 1,133 积分 2,362
(我插个嘴)不得不惊讶一下…… 上面是 2007到2009之间的超长对话 ……
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023