一起学习网 一起学习网


bat得到文件大小的代码

网络编程 bat得到文件大小的代码 06-21
今天想复制一些文件,需要先判断文件的大小,小的肯定是有问题的不需要复制,经过大量测试终于找到了比较好的方法,需要的朋友可以参考下

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


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

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

DOS中的pause命令简介
在DOS命令中有一个命令是pause,它的作用是输出提示信息"Pressanykeytocontinue...,然后用户随意敲一个键后程序继续运行。pause它会提示请按任意键继续...

windows系统配制wget计划任务脚本
大家都知道wget在Linux、Unix下用得非常爽,在windows下建立计划任务,定时请求一个URL,wget优势就来了。我试几种方法,要么打开了浏览器,要么就弹出

批处理中Copy与Xcopy命令的区别小结
Copy与Xcopy的区别一,copy不能在有子目录存在的文件中拷贝文件的同时重命名此文件名说明,这里C:为根目录,bat为子目录),而xcopy能,不过会出现提


编辑:一起学习网

标签:字符串,文件大小,文件,命令,不等于