gpt4 book ai didi

批处理文件中的随机变量

转载 作者:行者123 更新时间:2023-12-01 15:25:15 25 4
gpt4 key购买 nike

我正在尝试使用批处理文件创建 0 到 3 之间的随机变量。现在我有以下代码:

@echo off
set /a var=%random%/8192
@echo %var%
Pause

这个批处理文件每次都返回“2”。如果我直接在命令行中输入相同的命令,它会返回 0 到 3。

任何相关知识将不胜感激:)

最佳答案

编辑:我改变了答案,因为 OP 改变了他的问题:最初所需随机数的范围是 0 到 4...

正确的公式是:

set /a var=%random% * 4 / 32768

使用其他运算符(如/或 %)来修改随机数分布,因此您会比使用正确的公式更频繁地得到重复结果。

编辑:补充说明

之前的代码应该可以在上面的示例中正常运行。但是,如果您的代码放置在 代码块 内(括在括号中),那么您必须在可以在 block 内修改,包括 RANDOM。例如:

@echo off
setlocal EnableDelayedExpansion
:ProgStart
(
set /a var = !random! * 4 / 32768
goto target!var!
)

如果您愿意,您可以使用这个给出等效结果的更简单的公式(0 到 3 之间的随机数):

set /a var = !random! / 8192

关于批处理文件中的随机变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15859208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com