我想創建一個批處理文件,它將循環2到10之間的隨機數並從文本文件中拉出一個隨機行時間並顯示它。批處理文件從文件中隨機抽取一個字符串並循環一次隨機數
set var1=%RANDOM%
set /a var2=(var1*9/32768)+2
for /l %%x in (1,1,%var2%) do (
set "lines=0"
for /f "tokens=*" %%a in (c:\myfile.txt) do set /a "lines+=1"
set /a "skip=%var1% %% lines"
if %skip% lss 1 (set "skip=") else (set "skip=skip=%skip%")
for /f "skip=%skip% tokens=*" %%a in (c:\myfile.txt) do set "item=%%a"&goto display
:display
echo %item%
)
這是兩個不同的代碼段上自己的每一項工作,但我無法將它們整合在一起。
下面的代碼每次運行時都會在文件中顯示一個隨機行。
set "lines=0"
for /f "tokens=*" %%a in (c:\myfile.txt) do set /a "lines+=1"
set /a "skip=%random% %% lines"
if %skip% lss 1 (set "skip=") else (set "skip=skip=%skip%")
for /f "%skip% tokens=*" %%a in (c:\myfile.txt) do set "item=%%a"&goto display
:display
echo %item%
而這段代碼會在2到10次之間顯示1。
@echo off
set var1=%RANDOM%
set /a var2=(var1*9/32768)+2
for /l %%x in (1,1,%var2%) do (
echo 1
)
我可能只是忽略了明顯的,但我不做很多批處理腳本。