批處理命令隨機(jī)數(shù)random的用法及實_第1頁
批處理命令隨機(jī)數(shù)random的用法及實_第2頁
批處理命令隨機(jī)數(shù)random的用法及實_第3頁
批處理命令隨機(jī)數(shù)random的用法及實_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、批處理命令隨機(jī)數(shù) random的用法及實例最近研究批處理命令,偶然發(fā)現(xiàn),居然還有隨機(jī)數(shù),在此之前,是未敢想過。說到隨機(jī)數(shù),不同的軟件都有隨機(jī)函數(shù)的功能,使用方法大體類似,但卻有著區(qū)別。 本文,給您介紹一下MS-DOS中的批處理命令random的用法及實例。0到100之間的數(shù)echo offsetlocal en abledelayedexpa nsionset /a h1="%random%100":除以 100 的余數(shù)echo %h1%pause產(chǎn)生一個255以內(nèi)的數(shù)echo offsetlocal en abledelayedexpa nsionset /a h1=%r

2、a ndom%255+1 echo %h1%pause隨機(jī)0-99的隨機(jī)數(shù)echo off:loopset /a "a=%ra ndom%100" echo %a%pausegoto loop注:%random%變量指0到32726的隨機(jī)數(shù)%random%1是指向100求模,意指用隨機(jī)數(shù)random除以100,然后取余數(shù), 余數(shù)就只能為0-99之間了.批處理產(chǎn)生四個四位不重復(fù)的隨機(jī)數(shù)echo offsetlocal en abledelayedexpa nsionset var=123456789set /a =%ran dom%9+1set var=!var:%h1%=0

3、!for /l %i in (9,-1,7) do (set /a temp=!ra ndom!%icall set h%i=%var:!temp!,1% call set var=%var:!h%i!=%)echo %h1%h9%h8%h7%pause批處理產(chǎn)生四個四位不重復(fù)的隨機(jī)數(shù)echo offsetlocal en abledelayedexpa nsionset /a str=123456789for /l %i in (1 1 10) do (set /a num=!random! % 9+1call set str=%str:! num!=%! num!)echo !str:2,

4、4!Pauseecho off&setlocal en abledelayedexpa nsion:生成四位的隨機(jī)數(shù)100個for /l %i in (1,1,100) do (set/a #%i=!ra ndom!%9000+1000):過濾掉有重復(fù)數(shù)字的隨機(jī)數(shù)for /l %i in (0,1,100) do (for /l %j in (0,1,9) do (set ss=!#%i:%j=!if !ss! lss 100 (set "#%i=")for /f "tokens=2 delims=#=" %i in ('set #

5、9;) do echo %ipause一、random的取值范圍要使用random,必須將其當(dāng)作一個變量來使用,這樣才能得到值。 打開MS-DOS窗口,輸入如下代碼,即可獲得值。echo %ran dom%random%可以產(chǎn)生0到65535之間的隨機(jī)數(shù)。、通過獲得一定范圍內(nèi)的隨機(jī)數(shù)通過一,我們知道,random%可以產(chǎn)生0到32767之間的隨機(jī)數(shù),但是,如何才能得到一定范圍內(nèi)的隨機(jī)數(shù)呢?通用的算法公式如下:通用的公式 %random%(max-min+1)+min 來產(chǎn)生 min,max 區(qū)間里的隨機(jī)數(shù),注:批 處理中求模得用兩個 %符號。比如,我們想獲得 4到 12之間的隨機(jī)數(shù),就可以這樣

6、來使用,代碼如下:REM 產(chǎn)生 10 個4,12間的隨機(jī)數(shù) echo offREM 啟用延遲環(huán)境變量擴(kuò)展 setlocal enabledelayedexpansionREM 設(shè)置隨機(jī)數(shù)的最小和最大值以及求模用的變量set min=4set max=12set /a mod=!max!-!min!+1for /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!)三、其它實例實例:常用功能生成 1 到 100 之間的隨機(jī)數(shù)set /a RandomNumber=%r

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

8、Number%if "%RandomNumber%" = "50" pausegoto loop實例:隨機(jī)獲取文件名echo off if "%1" NEQ "$" (for /f "toke ns=1,2 delims=:" %a in ("%0" $A|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實例:在一個文本中隨機(jī)取一行數(shù)據(jù)ECHO %DBG% OFFSETLOCAL ENA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論