中国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] [4]  >>
作者:
标题: 一个关于随机获取文件名的问题. 上一主题 | 下一主题
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 46 楼』:  

反复sort也只是以最后一个为准,如果sort一次提取一次的话无疑是舍本逐末。 如果要求不高,可以浅尝辄止;否则还是利用 random 来得好。


2006-12-11 07:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mqi
初级用户





积分 28
发帖 11
注册 2006-11-5
状态 离线
『第 47 楼』:  

请看看这样行不行啊 @echo off for %%i in (*.mp3) do ( echo %%i >>1.txt ) exit


2006-12-20 23:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
gocndos
新手上路





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

收下了,以后研究


2007-1-21 01:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hngaoshou
社区乞丐

gaoshou



积分 -16
发帖 77
注册 2007-1-30
状态 离线
『第 49 楼』:  

再顶 实在是太好了


   此帖被 +1 点积分    点击查看详情   
评分人:【 look 分数: +1  时间:2007-10-22 13:59




:cool: [swf=1,1]http://img63.imageshack.us/my.php?image=58098766zh0.swf[/swf]
2007-2-1 02:58
查看资料  发送邮件  发短消息 网志  OICQ (327869085)  编辑帖子  回复  引用回复
jmzsyt
新手上路





积分 10
发帖 5
注册 2006-11-21
状态 离线
『第 50 楼』:  

以实现WMP的随机播放. 播放器里就有这个功能吧!这么多改来改去的多麻烦


2007-3-2 02:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nzisisco
初级用户





积分 107
发帖 47
注册 2007-3-3
状态 离线
『第 51 楼』:  

全是高手 i 服了 u


2007-3-9 02:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
test266
初级用户





积分 22
发帖 10
注册 2007-2-16
状态 离线
『第 52 楼』:  试试我的

@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 ]


2007-3-9 10:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 53 楼』:  

楼下的好像不能处理带有空格和减号的文件名...


2007-3-9 22:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
linee
初级用户





积分 94
发帖 49
注册 2008-12-14
状态 离线
『第 54 楼』:  

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 $ ...
把这个改来听歌不错,空列表随机播放。
@echo off
for /f "delims=" %%i in ('dir/a-d/b/s *.mp3,*.wma,*.ape') do call set $%%random%%$%%i=$
for /f "tokens=1,2* delims=$=" %%i in ('set $') do "C:\Program Files\MPlayer\mplayer.exe" "%%j"
感觉下面这个要稍快点。
@echo off
for /r . %%i in (*.mp3,*.wma,*.ape) do call set $%%random%%$%%i=$
for /f "tokens=1,2* delims=$=" %%i in ('set $') do "C:\Program Files\MPlayer\mplayer.exe" "%%j"
[ Last edited by linee on 2008-12-31 at 05:28 ]


2008-12-30 23:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
linee
初级用户





积分 94
发帖 49
注册 2008-12-14
状态 离线
『第 55 楼』:  

参考24楼,34楼,把我修改的也贴在这吧。
@echo off
(for %1 %%i in (*.mp3,*.wma)do call echo %%random%%=%%i)%3>nul&%2:EOF
for /f "tokens=2delims==" %%a in ('"%~0" /r,goto,2^|sort')do echo %%a
@echo off&%~1
for /f "tokens=2delims==" %%a in ('%~0 "(for /r %%i in (*.mp3,*.wma)do call echo %%^random%%=%%i)&goto:EOF"^|sort')do echo %%a
[ Last edited by linee on 2009-1-7 at 23:09 ]


2009-1-5 15:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
<   <<   [1] [2] [3] [4]  >>
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: