2017-02-18 61 views
0

我是在批处理脚本中使用%random%命令的新手,我尝试创建一个批处理脚本来随机创建一个介于0和3之间的数字。我编写了以下内容,但每个实例每次我双击BAT文件)我得到相同的数字'1'。这打破了目的。这是基于这个数字复制一个选定的视频文件,所以它是随机的。简单的批处理脚本随机数发生器

echo off 
set numb=" " 
set /a numb=%random%/10000 
echo %numb% :only used for testing 
pause :only used for testing 

if %numb% LEQ 1 goto trailer 
if %numb% EQU 2 goto dragon 
if %numb% EQU 3 goto live 

:dragon 
echo Dragon 
copy /Y "F:\Skyrim SSE\mod backup - files\Dragon flyby - BGS_Logo.bik" "D:\SteamLibrary\steamapps\common\Skyrim Special Edition\Data\Video\BGS_Logo.bik" 
exit 

:trailer 
echo Trailer 
copy /Y "F:\Skyrim SSE\mod backup - files\Official Trailer-BGS_Logo.bik" "D:\SteamLibrary\steamapps\common\Skyrim Special Edition\Data\Video\BGS_Logo.bik" 
exit 

:live 
Echo Live 
copy /Y "F:\Skyrim SSE\mod backup - files\Dragonborne-live-BGS_Logo.bik" "D:\SteamLibrary\steamapps\common\Skyrim Special Edition\Data\Video\BGS_Logo.bik" 
exit 

我想保持这种尽可能简单,因为这真的不需要很复杂。请帮助

+1

对于格式化 - 只需选择您的代码文本并按下“{}”。您可以通过点击当前批处理文件标签下的edit来编辑您的问题。 – Magoo

+0

我会邀请您编辑您的问题,因为您的“答案”中的代码(我曾用它代替原来的代码 - 而且应该删除你的“答案”,因为它将被删除为“不是答案”) - 这是没有意义的。请注意,标签必须单独放在一行上 - 不能像汇编程序那样添加指令... – Magoo

+0

我想通了 – Mike

回答

0

这里是一种方式的例子来做到这一点:

@Echo Off 

Set "_s=F:\Skyrim SSE\mod backup - files" 
Set "_d=D:\SteamLibrary\steamapps\common\Skyrim Special Edition\Data\Video\BGS_Logo.bik" 

Set/A "_r=%RANDOM%%%3" 
>Nul Choice /C 012 /N /T 0 /D %_r% 
If ErrorLevel 3 GoTo Dragon 
If ErrorLevel 2 GoTo Trailer 
If ErrorLevel 1 GoTo Live 
GoTo :EOF 

:Dragon 
Echo(Dragon 
Copy /Y "%_s%\Dragon flyby - BGS_Logo.bik" "%_d%" 
GoTo EndIt 

:Trailer 
Echo(Trailer 
Copy /Y "%_s%\Official Trailer-BGS_Logo.bik" "%_d%" 
GoTo EndIt 

:Live 
Echo(Live 
Copy /Y "%_s%\Dragonborne-live-BGS_Logo.bik" "%_d%" 

:EndIt 
GoTo :EOF 

我用CHOICE没有真正的理由,我只是它比较运营商首选的一系列IF的,EQU, NEQ, LSS, LEQ, GTR, GEQ