Dos脚本判断文件大小

时间:2020-12-30 17:40:45
@echo off & setlocal EnableDelayedExpansion 
del 1.txt /q
del 2.txt /q
for /f %%i in (*) do (echo %%~fzi >>1.txt) rem 将文件大小存储到1.txt

for /f "tokens=1* delims= " %%a in (1.txt) do (
set "zer=%%a"
set "pat=%%b"
if !zer! gtr 5120 (
if not "!pat:~0,-1!"=="%~0" echo "!pat:~0,-1!"& echo "!pat!" >> 2.txt rem 将大于5KB的文件名称放到2.txt中
)
)


echo "done."

【备注】if常用的判断语句

  1、if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt) 
  2、if "abc"=="xyz" (echo 字符串abc等于字符串xyz) else (echo 字符串abc不等于字符串xyz) 
  3、if 1 equ 2 (echo 1等于2) else (echo 1不等于2) 
  4、if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为空) 

 

中文含义      关系符      英文解释 

等于           equ       equal 
大于           gtr        greater than 
大于或等于      geq       greater than or equal 
小于           lss         less than 
小于或等于      leq         less than or equal 
不等于          neq       no equal 

 

  for /F %%i 表示i代表的是文件名;

  %%~fzi      表示用文件名和文件大小代替i;