Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  批处理/bat  >  正文 bat批处理获取文件大小的代码

bat批处理获取文件大小的代码

发布时间:2014-09-28   编辑:www.jquerycn.cn
本文介绍了bat得到文件大小的一例代码,有研究dos 批处理的朋友可以参考学习下。

复制一些文件,需要先判断文件的大小,小的肯定是有问题的不需要复制。
经过大量测试终于找到了比较好的方法。

一句话代码:
 

复制代码 代码示例:
for /f %i in ('dir /b c:\450010.jpg') do echo %~zi

1,完整的判断代码:
 

复制代码 代码示例:
@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

2,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

3,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
 

部分内容来自:http://www.cnblogs.com/cnpirate

您可能感兴趣的文章:
获取一个目录下所有文件扩展名的批处理
批处理批量安装字体的代码
批量安装windows补丁的批处理(bat)脚本
dos批处理静默执行的方法(不弹出窗口)
bat批处理获取文件大小的代码
批处理删除大小和类型一样的文件
批处理实例 提取文本文件第一行与最后一行
dos命令批量修改文件扩展名的例子
批处理BAT生成随机数调用随机网站内容的方法
批处理安装系统补丁

关键词: bat  批处理  文件大小   
[关闭]