|
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
状态 离线
|
|
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 |
|
|
jmzsyt
新手上路
积分 10
发帖 5
注册 2006-11-21
状态 离线
|
『第
50 楼』:
以实现WMP的随机播放.
播放器里就有这个功能吧!这么多改来改去的多麻烦
|
|
2007-3-2 02:28 |
|
|
nzisisco
初级用户
积分 107
发帖 47
注册 2007-3-3
状态 离线
|
|
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 楼』:
Quote: | 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 |
|