知玩指南
白蓝主题五 · 清爽阅读
首页  > 域名解析

批处理比较大小:简单实用的文件与数值对比技巧

在日常使用电脑时,经常需要对文件大小、数值进行批量判断或排序。比如清理磁盘空间前想看看哪些日志文件变得特别大,或者写个脚本自动判断某个备份文件是否超出预期体积。这时候,“批处理比较大小”就成了一个实用的小技能。

用批处理脚本判断文件大小

Windows 的批处理虽然看起来老旧,但处理这类任务依然够用。通过 for 命令获取文件大小,再结合 if 进行数值比较,就能实现自动化判断。

@echo off
setlocal enabledelayedexpansion

for %%f in (*.log) do (
    set filesize=%%~zf
    if !filesize! gtr 1048576 (
        echo %%f 大小超过1MB
    )
)

上面这段脚本会遍历当前目录下所有 .log 文件,检查其大小是否大于 1MB(即 1048576 字节),符合条件就提示出来。这种操作适合定期运行,快速发现异常增大的日志。

数值之间的大小比较写法

批处理中比较数字要用 if 配合特定符号:gtr 表示大于,lss 表示小于,geq 是大于等于,依此类推。注意不能直接用 > 或 < 符号,否则会被当成重定向操作。

set num1=85
set num2=92

if %num1% lss %num2% (
    echo num1 比 num2 小
)

这个例子中,脚本会正确输出“num1 比 num2 小”。如果把变量换成从外部读取的配置值或计算结果,就可以做成更灵活的判断逻辑。

实际应用场景:自动归档大文件

假设你每天下载一堆素材,想让系统自动识别出大于 50MB 的视频文件,并移动到单独文件夹。可以写个定时任务配合如下脚本:

@echo off
if not exist "large_videos" mkdir large_videos

for %%v in (*.mp4) do (
    set size=%%~zv
    set /a limit=52428800
    if !size! gtr !limit! (
        move "%%v" "large_videos\"
    )
)

运行后,所有超过 50MB 的 MP4 文件都会被移走。加上计划任务,基本就实现了无人值守管理。

这类操作不需要安装额外工具,也不依赖复杂环境,特别适合在老旧系统或服务器上跑轻量级维护任务。掌握这些细节,能让重复工作变得更轻松。