中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 02:26
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 一个关于随机获取文件名的问题.
可打印版本  17,866 / 54
第46楼 3742668 发表于 2006-12-11 07:49
荣誉版主 发帖 718 积分 2,013
反复sort也只是以最后一个为准,如果sort一次提取一次的话无疑是舍本逐末。
如果要求不高,可以浅尝辄止;否则还是利用 random 来得好。
第47楼 mqi 发表于 2006-12-20 23:36
初级用户 发帖 11 积分 28
请看看这样行不行啊
@echo off
for %%i in (*.mp3) do (
echo %%i >>1.txt
)
exit
第48楼 gocndos 发表于 2007-01-21 01:33
新手上路 发帖 4 积分 8
收下了,以后研究
第49楼 hngaoshou 发表于 2007-02-01 02:58
社区乞丐 发帖 77 积分 -16
再顶
实在是太好了
第50楼 jmzsyt 发表于 2007-03-02 02:28
新手上路 发帖 5 积分 10
以实现WMP的随机播放.
播放器里就有这个功能吧!这么多改来改去的多麻烦
第51楼 nzisisco 发表于 2007-03-09 02:28
初级用户 发帖 47 积分 107
全是高手 i 服了 u
第52楼 test266 发表于 2007-03-09 10:15
初级用户 发帖 10 积分 22
试试我的
@echo off
setlocal ENABLEDELAYEDEXPANSION

set /p mypath=请输入MP3文件所在的目录,直接回车使用当前目录:
set t1=%time%
set /a num=1
rem 下面这行不能处理有空格的路径(谁能告诉我怎么解决呀)
rem for /f %%i in ('dir /b *.mp3') do (
rem 下面这行可以处理空格,请自己修改路径
for /R %mypath% %%i in (*.mp3) do (
set s!num!=%%i
set /a num+=1
)

set /a fcount=%num%
set /a fcount-=1

:loop
set /a rnd=%random%
set /a rnd%%=%num%
set /a rnd+=1

if not "!s%rnd%!"=="" (
echo !s%rnd%!
call :swap %rnd% "!s%num%!"
set s%num%=
set /a num-=1
)

if %num% GTR 1 goto loop

echo 文件总数:%fcount%
echo 开始时间:%t1%
echo 结束时间:%time%

:swap
set stmp=%2
set s%1=%stmp:~1,-1%

[ Last edited by test266 on 2007-3-9 at 11:29 AM ]
第53楼 jmz573515 发表于 2007-03-09 22:47
银牌会员 发帖 464 积分 1,212
楼下的好像不能处理带有空格和减号的文件名...
第54楼 linee 发表于 2008-12-30 23:27
初级用户 发帖 49 积分 94
Originally posted by zh159 at 2006-12-10 14:29:
把俺最新的也加入这贴吧^_^

@echo off
for /f "delims=" %%i in ('dir/a-d/b *.mp3') do call set $%%random%%$%%i=$
for /f "tokens=1,2* delims=$=" %%i in ('set $ ...

把这个改来听歌不错,空列表随机播放。

感觉下面这个要稍快点。


[ Last edited by linee on 2008-12-31 at 05:28 ]
第55楼 linee 发表于 2009-01-05 15:07
初级用户 发帖 49 积分 94
参考24楼,34楼,把我修改的也贴在这吧。




[ Last edited by linee on 2009-1-7 at 23:09 ]
上一页  1 2 3 4
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023