For loop 我的算术表达式在CMD FOR循环中不起作用

For loop 我的算术表达式在CMD FOR循环中不起作用,for-loop,cmd,arithmetic-expressions,For Loop,Cmd,Arithmetic Expressions,我想在这样的For循环中生成一个随机数(部分): 不幸的是,它返回以下错误: 此时无法按语法处理“*[随机生成的数字]/32768” 它不起作用,因为set/a命令没有双引号和 (代码块)以未转义的结束提前结束 公式中的括号 否则,公式有可能产生负值的缺陷 由于先相乘而产生的数字 (set/a限制为有符号32位 整数数学) 同样在(代码块)内部,它需要!随机的当所有 其他变量不需要%/用于扩展(专用于设置/A) 如果不采取进一步的预防措施,此范围内的数字密码就不是很安全, 但您可以重复使用随机

我想在这样的For循环中生成一个随机数(部分):

不幸的是,它返回以下错误:

此时无法按语法处理“*[随机生成的数字]/32768”

  • 它不起作用,因为set/a命令没有双引号和 (代码块)以未转义的结束提前结束 公式中的括号
  • 否则,公式有可能产生负值的缺陷 由于先相乘而产生的数字
    (set/a限制为有符号32位 整数数学)
  • 同样在(代码块)内部,它需要
    !随机的当所有
    其他变量不需要
    %/用于扩展(专用于设置/A)
  • 如果不采取进一步的预防措施,此范围内的数字密码就不是很安全,
    但您可以重复使用随机数,从一组字符生成任意长度的密码,如

样本输出:

> Q:\Test\2018\07\10\SO_51271717.cmd
passwort=10528
passwort=56868
passwort=34042
passwort=40878
passwort=32590
passwort=47396
passwort=51676
passwort=66530
passwort=40106
passwort=56218

OP有一个IMHO中未处理的特定错误
:: Q:\Test\2018\07\10\SO_51271717.cmd
@Echo off & SetLocal EnableExtensions EnableDelayedExpansion

SET /A "min=10000,max=99999,range=max-min+1"

FOR /F "delims=, eol=; tokens=1,2" %%a in (DATA.TXT) DO (   
    SET /a "passwort=min + range / 32768* !random! "
    Echo passwort=!passwort!
)
> Q:\Test\2018\07\10\SO_51271717.cmd
passwort=10528
passwort=56868
passwort=34042
passwort=40878
passwort=32590
passwort=47396
passwort=51676
passwort=66530
passwort=40106
passwort=56218