比如文件内有50个文件,我想随机的显示它们该如何做呢?
[ Last edited by HAT on 2008-12-17 at 12:37 ]
[ Last edited by HAT on 2008-12-17 at 12:37 ]
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
setlocal enabledelayedexpansion
for %%a in (*.*) do (
set /a n+=1
set "_!n!=%%a"
)
:agn
cls
set /a "num=%random%%%%n%+1"
echo.!_%num%!
echo.&pause&goto :agn| 评分人 | 分数 | 时间 |
|---|---|---|
| luxipeng | +2 | 2008-12-18 09:54 |
Originally posted by moniuming at 2008-12-17 12:22:
这样?
@echo off
setlocal enabledelayedexpansion
for %%a in (*.*) do (
set /a n+=1
set "_!n!=%%a"
)
:agn
cls
set /a "num=%random%%%%n%+1"
echo.!_%num%!
ech ...
Originally posted by tempuser at 2008-12-17 13:12:
谢谢,这个正是我想要的,可是我看不懂,能给讲讲吗?比如说:
set "_!n!=%%a"
set /a "num=%random%%%%n%+1"
| 评分人 | 分数 | 时间 |
|---|---|---|
| HAT | +2 | 2008-12-17 14:20 |
@echo off&setlocal EnableDelayedExpansion
set "Play=c:\Program Files\Windows Media Player\wmplayer.exe"
for /r "c:\music" %%i in (*.mp3) do (
set /a n+=1
set "tempuser!n!=%%i"
)
set/a "num=%random%%%%n%+1"
start /min "" "%Play%" "!tempuser%num%!"
:@echo off
setlocal enabledelayedexpansion
for %%a in (*.*) do (
set /a n+=1
set "tempuser!n!=%%a"
echo 现在 "tempuser!n!" 对应的文件是 "%%a"
)
:agn
set /a "num=%random%%%%n%+1"
echo.!tempuser%num%!
echo.&pause&goto :agn