求bat随机数范围内生成,每个随机数之前都有一个字母的代码RT,我想生成8个随机数.其中4个为w1,w3,w5,w7,前面一个字母都是f,范围是1~21.还有4个为w2,w4,w6,w8,前面一个字母都是y,范围是1~5.接着问一
RT,我想生成8个随机数.其中4个为w1,w3,w5,w7,前面一个字母都是f,范围是1~21.还有4个为w2,w4,w6,w8,前面一个字母都是y,范围是1~5.
接着问一下:怎么把这些变量输出到一个记事本里?
这是我写的代码总是报错:
set /a w1="f%random%%%(21-1)+(1+1)"
set /a w2="y%random%%%(5-1)+(1+1)"
set /a w3="f%random%%%(21-1)+(1+1)"
set /a w4="y%random%%%(5-1)+(1+1)"
set /a w5="f%random%%%(21-1)+(1+1)"
set /a w6="y%random%%%(5-1)+(1+1)"
set /a w7="f%random%%%(21-1)+(1+1)"
set /a w8="y%random%%%(5-1)+(1+1)"
cd.>>1.txt
for /l %%a in (1,1,8) do echo !w%%a!>1.txt
望求大神指教,系统为Windows8.1.
你的代码存在的问题:
没有开启本地环境变量延迟扩展,但是用了!来扩展变量
set /a的运算中不应该出现字母,除非是十六进制的运算
>表示覆盖,所以输出了8次,但最终记事本里只有一个结果
优化后的代码,用for循环
@Echo OffSetLocal EnableDelayedExpansion
::CODE BY aiwozhonghuaba POWERD BY iBAT 1.6
For /l %%i In (1 1 8) Do (
Set /A Jud=%%i %% 2
Set /A w%%i=!Random! %% 21 + 1
IF "!Jud!" EQU "1" (
Set w%%i=f!w%%i!
) ELSE (
Set w%%i=y!w%%i!
)
Echo !w%%i!>>test.txt
)
(1)从1-100这100个整数中随机抽取1个数,则此数能被8整除的概率是(2)随意掷一枚均匀的硬 2020-05-17 …
盒中有3个新球1个旧球第一次随机抽一个用后放回第二次随机抽两个事件A表示“第二次取到的全”盒中有3 2020-05-21 …
以下两种情况:1、从1到49个数中随机产生1个数;2、从1到49个数中随机依次产生6个数(不能相同 2020-06-04 …
有12个球分成3份,第一份1个,第二份4个,第三份7个,两个人随便抓,但不能一块抓两份,到最后谁抓 2020-06-24 …
离散型随机变量的分布列1:袋中有8个白球,2个黑球,从中随机地连续取3次球,每次取1个,不放回抽样 2020-07-14 …
在一个袋子中装有大小相同的4个小球,其中1个蓝色,3个红色.(1)从袋中随机摸出1个,求摸到的是蓝 2020-08-01 …
初一数学(一元一次方程)1.x/3-x/6=12.3x/2+4=x/5+x+13.0.4x-0.5= 2020-10-31 …
20到50随意说出一个数字,然后从1开始数数.每次说2个或者3个数字,谁说出指定的数字就算输,有什么 2020-11-18 …
简单的概率论与数理统计题目,懂的进1.在区间(0,1)中随机的取俩个数,试求事件"两数之和小于6/5 2020-12-23 …
有一个从袋子中摸球的游戏,小红根据游戏规则,作出了如下图所示的树形图,则此次摸球的游戏规则是A.随机 2021-01-15 …