最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

bat下產(chǎn)生指定范圍隨機(jī)數(shù)字的實(shí)現(xiàn)方法

 更新時(shí)間:2013年05月06日 23:02:04   作者:  
批處理、Bat 產(chǎn)生指定范圍隨機(jī)數(shù)字的代碼,需要的朋友可以參考下下

最近研究批處理命令,偶然發(fā)現(xiàn),居然還有隨機(jī)數(shù),在此之前,是未敢想過(guò)。
說(shuō)到隨機(jī)數(shù),不同的軟件都有隨機(jī)函數(shù)的功能,使用方法大體類似,但卻有著區(qū)別。
本文,給您介紹一下MS-DOS中的批處理命令random的用法及實(shí)例。

一、random的取值范圍

  要使用random,必須將其當(dāng)作一個(gè)變量來(lái)使用,這樣才能得到值。
  打開MS-DOS窗口,輸入如下代碼,即可獲得值。

復(fù)制代碼 代碼如下:

  echo %random%

  %random%可以產(chǎn)生0到65535之間的隨機(jī)數(shù)。

二、通過(guò)獲得一定范圍內(nèi)的隨機(jī)數(shù)

  通過(guò)一,我們知道,%random%可以產(chǎn)生0到32767之間的隨機(jī)數(shù),但是,如何才能得到一定范圍內(nèi)的隨機(jī)數(shù)呢?
  通用的算法公式如下:
  通用的公式%random%%%(max-min+1)+min來(lái)產(chǎn)生[min,max]區(qū)間里的隨機(jī)數(shù),注:批處理中求模得用兩個(gè)%%符號(hào)。
  比如,我們想獲得4到12之間的隨機(jī)數(shù),就可以這樣來(lái)使用,代碼如下:

復(fù)制代碼 代碼如下:

  @REM 產(chǎn)生10個(gè)[4,12]間的隨機(jī)數(shù)
  @echo off
  REM 啟用延遲環(huán)境變量擴(kuò)展
  setlocal enabledelayedexpansion
  REM 設(shè)置隨機(jī)數(shù)的最小和最大值以及求模用的變量
  set min=4
  set max=12
  set /a mod=!max!-!min!+1

  for /l %%i in (1,1,10) do (
  REM 產(chǎn)生[min,max]之間的隨機(jī)數(shù)
  set /a r=!random!%%!mod!+!min!
   echo.
  echo 隨機(jī)數(shù)%%i:!r!
  )


三、其它實(shí)例

  實(shí)例①:常用功能  
  生成1到100之間的隨機(jī)數(shù)

復(fù)制代碼 代碼如下:

  set /a RandomNumber=%random%%%100+1
  ::100是范圍數(shù),1是底數(shù)即開始的數(shù).(在bat 中使用),在CMD中會(huì)出錯(cuò).
  ::取隨機(jī)兩位數(shù)
  set /a d=%random:~0,2%
  echo %d%
  ::避免00
  set /a e=1%random:~0,2%-100
  echo %e% @echo off
  :loop
  set /a RandomNumber=1%random:~-1%%random:~-1%-99
  ::最大值100
  if %RandomNumber% LSS 35 goto loop
  ::小于35返回
  if %RandomNumber% GTR 75 goto loop
  ::大于75返回
  echo %RandomNumber%
  if "%RandomNumber%" == "50" pause
  goto loop


  實(shí)例②:隨機(jī)獲取文件名

復(fù)制代碼 代碼如下:

  @echo off
  if "%1" NEQ "$" (
   for /f "tokens=1,2 delims=:" %%a in ('"%~0" $^|sort') do @echo %%b
  ) else for /f "delims=" %%i in ('dir /b /a-d *.mp3') do @call :sub %%i
  goto :EOF:sub
  echo %random%:%*
  goto :EOF


  實(shí)例③:在一個(gè)文本中隨機(jī)取一行數(shù)據(jù)

復(fù)制代碼 代碼如下:

  @ECHO %DBG% OFF
  SETLOCAL ENABLEDELAYEDEXPANSION
  FOR /F "TOKENS=*" %%i IN (TEST.TXT) DO (SET /A h+=1 & SET r!h!=%%i)
  SET /A s=%RANDOM%%%%h%+1
  ECHO !r%s%!

相關(guān)文章

最新評(píng)論

遂溪县| 龙海市| 衡阳县| 东乡| 南阳市| 吉首市| 金阳县| 石泉县| 长白| 突泉县| 镶黄旗| 图木舒克市| 海宁市| 庄河市| 鄂伦春自治旗| 疏勒县| 当阳市| 封丘县| 滦平县| 海南省| 嘉定区| 丰宁| 尚义县| 泗水县| 乌拉特后旗| 乌鲁木齐市| 堆龙德庆县| 增城市| 民和| 灵宝市| 西贡区| 民权县| 平山县| 徐闻县| 修文县| 禄劝| 阜宁县| 清远市| 来宾市| 准格尔旗| 广州市|