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