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

Posted

技术标签:

【中文标题】使用批处理文件检查特定文件大小【英文标题】:Specific File Size Check with batch file 【发布时间】:2011-07-31 05:48:47 【问题描述】:

如果有人可以帮助我完成以下脚本,我将不胜感激。实际上,我正在尝试编写一个搜索 AVI 文件的批处理文件,并检查它是否超过 200 MB,通过使用 cacls 或 del 来限制文件。我是批处理文件的新手,我正在努力完成这项工作。请帮帮我。

提前致谢。

@ECHO OFF
SET FILETYPE=*.mp3
SET SIZELIMIT=7,425,794
for /R d:\ %I IN ('%FILETYPE%') do set FILESIZE=%~xI
if %FILESIZE% GTR %SIZELIMIT% ( del %SIZELIMIT% ) ELSE ( echo.file not found )

鲥鱼

【问题讨论】:

【参考方案1】:

这个怎么样?

@echo off
set FILETYPE=*.mp3
set SIZELIMIT=7425794
for /r D:\ %i in (%FILETYPE%) do if %~zi gtr %SIZELIMIT% del "%i"

包括您最初尝试的问题:

SIZELIMIT 中不应该有逗号 if 语句不包含在 for 循环中 ~x 返回文件扩展名;你想要~z 的文件大小 无需在in 子句中引用%FILETYPE% 应该在del 命令中引用%i,以防它包含空格

希望这会有所帮助。

【讨论】:

以上是关于使用批处理文件检查特定文件大小的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个批处理文件来检查文件夹中是不是存在四个特定的文件/文件夹?

批处理 - 多次检查文件大小

批处理 - 特定文件夹的文件大小(以 GB 为单位)的脚本

cmd批处理文件检查当前时间是不是等于特定时间之一

为啥文件存在和文件大小检查不能结合使用?

批处理文件以检查文件中是不是存在特定单词“test”,如果存在则将整个文件夹复制到另一个位置