Board logo

标题: [其他] 批处理如何实现随机播放文件夹中歌曲? [打印本页]

作者: imkoala    时间: 2016-11-23 18:33     标题: 批处理如何实现随机播放文件夹中歌曲?

随机播放文件夹中歌曲
作者: GNU    时间: 2016-11-23 22:33

现在流行的音乐播放器都有这个非常基本的功能
你是基于怎样的需求要用BAT来实现呢?
作者: w609053988    时间: 2016-11-23 22:43

本帖最后由 w609053988 于 2016-11-23 22:45 编辑
  1. @echo off
  2. set "str=.mp3"
  3. set /a var=%random%%%10+1
  4. start %var%%str%
  5. pause>nul
复制代码
以上代码需要将MP3歌曲以数字命名,例如1.mp3、2.mp3...10.mp3,
代码保存为*.bat放到歌曲目录下,点一下,随机播放一首歌,但是需要有默认的音乐播放器,
感觉这样不方便,但是没办法,刚学批处理才几天,只想到这个笨方法了!
作者: GNU    时间: 2016-11-23 22:55

回复 3# w609053988
  1. dir /b /a-d *.mp3 | findstr /n "mp3" > 歌曲列表.txt
复制代码
用你的随机数到 歌曲列表.txt 找到对应的歌曲名称就行了
作者: pcl_test    时间: 2016-11-23 23:14

回复 3# w609053988
方法一
1、逐一遍历所有音频文件,并用序号变量逐一存储音频文件名,如#1=axx.mp3、#2=bxx.mp3……#n=xxx.mp3,最终n的值为音频文件的总个数
2、生成一个1~n的随机的数
3、通过变量扩展!#%随机数%!得到相应序号的音频文件名,如生成随机数2,那么!#2!的值为bxx.mp3,最后执行播放

方法二
1、逐一遍历所有音频文件,并用不重复的随机数变量逐一存储音频文件名,如#2347=axx.mp3、#24=bxx.mp3……#6=xxx.mp3
2、利用系统的自动排序,提取set #列出的所有变量中的第一个,如第一个为#24=bxx.mp3,通过变量扩展%#24%得到相应音频文件名,最后执行播放

以上方法的具体实现可搜索及参考下论坛有关“随机”“乱序”“无序”之类的问题,目的不一样,方法是相同的
作者: imkoala    时间: 2016-11-24 00:05

回复 5# pcl_test

好的,去学习学习 。

怎么让他只播放两首?
作者: yu2n    时间: 2016-11-24 21:33

回复 6# imkoala


    把除这两首之外的文件后缀名改为 .mp3000 。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2