batch-file - 如何使用批处理随机数组而不重复
问题描述
我将此批次用于随机 test1-test3 没有重复但不工作
@echo off
setlocal EnableExtensions
setlocal EnableDelayedExpansion
set /A "RND_TOTAL=3, FLAG_DUP=0"
set /A "RND_MIN=1, RND_MAX=3, RND_INTER=1"
for /L %%I in (1,1,%RND_TOTAL%) do (
call :SUB %%I
SET /A R=!RND_NUM[%%I]!
SET LINE[1]=TEST1
SET LINE[2]=TEST2
SET LINE[3]=TEST2
echo !LINE[%R%]!
pause
)
endlocal
exit /B
:SUB
set /A "RND_COUNT=%1-1"
:LOOP
set /A "RND_NUM[%1]=!RANDOM!%%((RND_MAX-RND_MIN)/RND_INTER+1)*RND_INTER+RND_MIN"
if %FLAG_DUP% EQU 0 (
for /L %%I in (1,1,%RND_COUNT%) do (
if !RND_NUM[%1]! EQU !RND_NUM[%%I]! (
goto :LOOP
)
)
)
exit /B
我得到以下输出:
echo off echo off echo off
解决方案
推荐阅读
- python - 从 Python 脚本执行 Julia 文件
- angular - 通过 Angular 8 中的 @azure/msal-angular 库获取 azure 广告用户组
- python - 我想使用 Bagging 从数据集中进行随机抽样。并在进一步分析中使用该数据集。我怎样才能做到这一点?
- css - 在 SVG(1.1) 中从右到左淡入文本
- c++ - 如何在c ++中获取相同数字的第一个和第二个元素及其各自的位置
- mule - 在 MUnit 中为 Mule 4 断言 HTTP 状态代码
- python - 使用 Pytorch LSTM 模块时尺寸不匹配
- php - 从表内的文本框中获取值并使用 JQuery 将其存储为变量
- java - 加载 img 失败时,Itextpdf 会减少新页面中的内容
- vba - PowerPoint ActiveX 文本框和标签在演示过程中分成两部分