SOURCE

console 命令行工具 X clear

                    
>
console
@echo off
REM 请求管理员权限
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
        goto UACPrompt
        ) else ( goto gotAdmin )

        :UACPrompt
        echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
        echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
        "%temp%\getadmin.vbs"
        exit /B

        :gotAdmin
        if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

setlocal enabledelayedexpansion

:: 用户输入目标盘符
:inputDrive
set /p "driveLetter=请输入目标盘符(例如 C、D 等): "
if not defined driveLetter goto inputDrive
set "driveLetter=%driveLetter:~0,1%"

:: 验证盘符有效性
if not exist "%driveLetter%:\" (
    echo 错误: 盘符 %driveLetter% 不存在或无法访问
    goto inputDrive
)

:: 设置目标文件夹路径
set "targetDir=%driveLetter%:\FillerFiles"
:: 设置基础文件名
set "baseName=fill"
:: 文件无扩展名
set "fileExt="
:: 设置每次创建的文件大小(单位:字节)
set "fileSize=1048576"  :: 默认1MB

:: 创建目标目录(如果不存在)
if not exist "%targetDir%" (
    mkdir "%targetDir%"
    if errorlevel 1 (
        echo 无法创建目录 %targetDir%
        pause
        exit /b 1
    )
)

:: 计数器
set /a counter=1

:createFile
:: 生成文件名
set "fileName=%baseName%_!random!_!counter!!fileExt%"
set /a counter+=1

:: 创建文件
fsutil file createnew "%targetDir%\%fileName%" %fileSize% >nul

:: 检查磁盘空间
for /f "tokens=3" %%a in ('dir /-c "%targetDir%" ^| find "可用字节"') do (
    set "freeSpace=%%a"
)

:: 移除逗号(如果有)
set "freeSpace=!freeSpace:,=!"

:: 如果剩余空间小于文件大小的两倍,则停止
if !freeSpace! LSS !fileSize! (
    echo 磁盘空间不足,停止创建文件。
    echo 共创建了 !counter! 个文件于 %targetDir%
    goto end
)

goto createFile

:end
echo 操作完成。所有文件已保存到: %targetDir%
pause