Board logo

标题: [文本处理] 求遍历文件夹内指定大小文件的BAT或VBS脚本 [打印本页]

作者: lioi234918    时间: 2015-5-7 11:18     标题: 求遍历文件夹内指定大小文件的BAT或VBS脚本

如题,现需要对指定文件夹下包括子文件夹内的图片进行批量压缩,要求是针对每张大于500kb的文件进行操作。

文件夹架构如下:D:\pics\pic1\1-1.jpg,1-2.jpg......
                     \pic2\2-1.jpg,2-2.jpg......
                     \pic3\3-1.jpg,3-2.jpg......
                     \pic4\4-1.jpg,4-2.jpg......
                     .....\...jpg,..jpg

就是不知道怎么调用变量去筛选出大于500kb的,(gtr或geq),求教有bat和vbs的大神帮忙分析下么,谢谢。
作者: pcl_test    时间: 2015-5-7 11:36

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /s /b *.jpg') do set /a size=%%~za/1024 & if !size! gtr 500 echo;%%a可压缩
  3. pause
复制代码

作者: lioi234918    时间: 2015-5-7 14:14

回复 2# pcl_test


    赞一个,好用,谢谢大神。
作者: CrLf    时间: 2015-5-7 16:34

使用 gnu 第三方工具中的 find
  1. find -size +500k
复制代码
使用第三方工具 hash.exe
  1. hash /nh /s /z::500KB
复制代码

作者: apang    时间: 2015-5-7 18:07

如果是用rar压缩,可以用 -sm 或 -sl 指定大小
  1. @echo off
  2. Rem 压缩D:\Test目录及子目录下大于500KB的JPG文件
  3. pushd "D:\Test\"
  4. "c:\program files\WinRAR\rar.exe" a -r -sm512000 a.rar *.jpg
  5. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2