濮阳杆衣贸易有限公司

主頁 > 知識庫 > bat下產(chǎn)生指定范圍隨機數(shù)字的實現(xiàn)方法

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

熱門標(biāo)簽:紹興400電話怎么辦理 征服者博物館地圖標(biāo)注點 南京機器人外呼系統(tǒng)多少錢 沙依巴克工廠地圖標(biāo)注 地圖標(biāo)注顯示小區(qū) 福建防封電銷卡辦理套餐 江蘇手機外呼系統(tǒng)供應(yīng)商 江蘇辦理400電話是免費的嗎 滄州外呼增值業(yè)務(wù)線路解決方案

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

一、random的取值范圍

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

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

  echo %random%

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

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

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

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

  @REM 產(chǎn)生10個[4,12]間的隨機數(shù)
  @echo off
  REM 啟用延遲環(huán)境變量擴展
  setlocal enabledelayedexpansion
  REM 設(shè)置隨機數(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]之間的隨機數(shù)
  set /a r=!random!%%!mod!+!min!
   echo.
  echo 隨機數(shù)%%i:!r!
  )


三、其它實例

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

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

  set /a RandomNumber=%random%%%100+1
  ::100是范圍數(shù),1是底數(shù)即開始的數(shù).(在bat 中使用),在CMD中會出錯.
  ::取隨機兩位數(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


  實例②:隨機獲取文件名

復(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ù)據(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%!

您可能感興趣的文章:
  • 利用批處理BAT生成隨機數(shù)實現(xiàn)隨機網(wǎng)站內(nèi)容

標(biāo)簽:香港 小程序 烏魯木齊 巴中 宜賓 湘西 陽泉 吳忠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《bat下產(chǎn)生指定范圍隨機數(shù)字的實現(xiàn)方法》,本文關(guān)鍵詞  bat,下,產(chǎn)生,指定,范圍,隨機,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《bat下產(chǎn)生指定范圍隨機數(shù)字的實現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于bat下產(chǎn)生指定范圍隨機數(shù)字的實現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    富裕县| 镶黄旗| 巴楚县| 桦川县| 江油市| 巫山县| 绥中县| 来宾市| 丹巴县| 青川县| 玉树县| 达日县| 蓬莱市| 清河县| 安化县| 桂东县| 股票| 安西县| 酒泉市| 简阳市| 嵊州市| 平度市| 永善县| 镇宁| 牟定县| 镇雄县| 临夏县| 龙游县| 巴中市| 宜良县| 顺平县| 汝城县| 河南省| 麻阳| 巴林右旗| 和平县| 德化县| 天津市| 孟连| 额济纳旗| 德清县|