@echo off
::启用延迟环境变量扩展
setlocal enabledelayedexpansion
::文件名
set FILE_NAME=%1%
::文件大小(Mb)
set MB=%2%
if "" == "%FILE_NAME%" goto NAME_EMPTY
if "" == "%MB%" goto MB_ERROR
::限制文件大小为[1, 150]M之间
if %MB% LSS 1 goto MB_ERROR
if %MB% GTR 150 goto MB_ERROR
::文件大小单位转换(Mb转为字节)
set /a FILE_SIZE=%MB%*1024*1024
::创建文件
fsutil file createnew %FILE_NAME% %FILE_SIZE%
::写随机数
set MIN=0
set MAX=9
set /a MOD=!MAX!-!MIN!+1
set NUM_STR=
for /l %%i in (1,1,128) do (
set /a NUM=!random!%%!MOD!+!MIN!
set NUM_STR=!NUM_STR!!NUM!
)
echo !NUM_STR! >> %FILE_NAME%
goto END
:NAME_EMPTY
echo.
echo @param1 filename is empty
goto END
:MB_ERROR
echo.
echo @param2 file size(Mb) is not in range [1, 150]
goto END
:END
用法:make_random_file.bat test1.txt 25
,第1个参数指定文件名为test1.txt,第2个参数指定文件大小为25M。