【发布时间】:2017-02-18 14:44:43
【问题描述】:
我是在批处理脚本中使用 %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
我想让它尽可能简单,因为它真的不需要很复杂。请帮忙
【问题讨论】:
-
格式化 - 只需选择您的代码文本并按
{}。您可以通过在当前batch-file random标签下按edit来编辑您的问题 -
我会邀请您编辑您的问题,因为您的“答案”中的代码(我曾经替换您的原始代码 - 您应该删除您的“答案”,因为它将被删除为“不是一个答案“)嗯 - 没有真正的意义。请注意,标签必须单独位于一行 - 您不能像在汇编程序中那样添加指令...
-
你想出了如何发布或者你想出了解决问题的方法?
-
%random% 不是那么随机的blogs.msdn.microsoft.com/oldnewthing/20100617-00/?p=13673
-
set /a numb=%random%%% 3. 这将创建一个从 0 到 2 的数字(3 个数字)。另外我看到的问题是因为我除以 10000(当我不完全理解 %random% 函数时我在网上发现的)它实际上是在创建一个 10k 到 20k 范围内的随机数(19999)所以当它被除以得到的数字总是'1'。同样,将来如果我在这里复制并粘贴代码,我会一次做一行(也许这会有所作为)。
标签: batch-file random