本帖最后由 aloha20200628 于 2023-12-14 12:39 编辑
假设楼主的曲库不超过8000首,以便批处理脚本可采用最便捷的变量名字典匹配方法;
假设楼主的 D:\jhrw\现用音乐\music\*.bat 其中的文件名不含如 ä、č 等欧洲古典曲目中常见的怪异字符,以免再来回切换系统码页(936/65001)。
代码会在 D:\jhrw\现用音乐\music 目录中创建一个7天有效期记录文件 D:\jhrw\现用音乐\music\list.7,逾期自动清零。- @echo off &setlocal enabledelayedexpansion
- set "7F=D:\jhrw\现用音乐\music\list.7"
- if not exist "!7F!" (cd.>"!7F!") else for /f %%k in ('find /v /c "" ^<"!7F!" ') do if %%k geq 7 (cd.>"!7F!")
- for %%b in ("D:\jhrw\现用音乐\music\*.bat") do (set/a "n+=1" &set "$!n!=%%b")
- :[Loop]
- set/a m=%random%%%%n%+1
- for %%k in (!m!) do (set "mF=!$%%k!")
- find /i "!mF!" "!7F!">nul && goto[Loop]
- echo,!mF!>>"!7F!"
- start "" "!mF!"
- endlocal &exit/b
复制代码
|