如何检查文件大小是不是超过批处理的最大文件大小[重复]

Posted

技术标签:

【中文标题】如何检查文件大小是不是超过批处理的最大文件大小[重复]【英文标题】:How to check if a file size exceed max file size in batch [duplicate]如何检查文件大小是否超过批处理的最大文件大小[重复] 【发布时间】:2017-02-23 06:38:01 【问题描述】:

我想要一个检查文件大小是否小于 1KB 的脚本。如果是,则必须打印才能复制,否则显示无法复制。我是脚本新手,谁能帮帮我?

【问题讨论】:

这些话题已经回答了你的问题:checking-file-size-in-a-batch-scripthow-can-i-check-the-size-of-a-file-in-a-windows-batch-script 【参考方案1】:

如果文件名用作批处理文件的参数,则只需要 %~z1(1 表示第一个参数)

如果文件名不是参数,你可以这样做:

@echo off
setlocal
set file="test.cmd"
set maxbytesize=1000

FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA

if %size% LSS %maxbytesize% (
    echo.File is ^< %maxbytesize% bytes
) ELSE (
    echo.File is ^>= %maxbytesize% bytes
)

【讨论】:

1.为什么使用for /F?一个标准的for 循环非常好:for %%A in ("%file%") do set "size=%%~zA"。 2. 这不适用于 2 GiB 大小或更大的文件。 1KB 是 1024 字节。 增加这个限制设置 maxbytesize=1000

以上是关于如何检查文件大小是不是超过批处理的最大文件大小[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何以最大输出大小压缩多个文件,同时将文件对保持在一起

处理 USN 期刊尺寸全箱

如何使用 JavaScript 验证文件的大小?

nodeJs巨大的数组处理抛出RangeError:超过最大调用堆栈大小

如何更改最大文件大小上传?

使用批处理文件检查特定文件大小