bat得到文件大小的代码
2014-05-12来源:易贤网

先来点简单的一句话代码:

代码如下:

for /f %i in ('dir /b c:\450010.jpg') do echo %~zi

完整的判断代码:

代码如下:

@echo off

::每5分钟复制以下首页

for /f %%i in ('dir /b c:\index2.htm') do (

set indexdx=%%~zi

)

if %indexdx% gtr 5120 (

echo y | xcopy c:\index2.htm /d /r /k c:\index.htm

)

pause

dos下判断文件大小

纯dos下恐怕不行,视窗下bat还马马虎虎,当c:\1.txt大于3.999G失效。大约20秒检查一次。

代码如下:

@echo off&setlocal Enabledelayedexpansion

set R=c:\1.txt

:1

ping -n 20 127.0 >nul

for /f "tokens=1-3 delims= " %%a in ('dir "%R%"^|find /i "1 个文件"') do (

set Q=%%c

set /a Q=!Q:,=!

if !Q! lss 2048start "" "1.exe"

)

goto 1

Dos脚本判断文件大小

代码如下:

@echo off & setlocal EnableDelayedExpansion

del 1.txt /q 

del 2.txt /q

for %%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

更多信息请查看IT技术专栏

推荐信息