找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32667|回复: 9

[文件操作] 批处理BAT如何提取文件大小?

[复制链接]
发表于 2014-5-13 22:57:34 | 显示全部楼层 |阅读模式
某目录下存在很多名称不相同的文件,但是相同名称存在不同格式;
例如:
123456.txt
123456.doc
123456.xls
654321.txt
654321.doc
654321.doc
……
现在提取相同名称文件的大小:123456.*的文件大小654321.*的文件大小……求各位大神指导
发表于 2014-5-13 23:27:52 | 显示全部楼层
FOR   %%~zi  扩张到文件大小
发表于 2014-5-13 23:53:28 | 显示全部楼层
系统默认就是按文件名排序的,所以...
  1. for %%a in (*) do echo %%a 大小为: %%~za
复制代码
如果非要按一组一组显示,可以这样:
  1. @echo off
  2. for %%a in (*.txt) do (
  3.    echo %%~na.*------------
  4.    for %%b in ("%%~na.*") do echo %%~xb 大小为:%%~zb
  5. )
  6. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
wang5185244 + 1 好人

查看全部评分

 楼主| 发表于 2014-5-14 09:04:17 | 显示全部楼层
回复 3# CrLf 我想将名字相同格式不同的大小去和,在这基础上怎么改,谢谢
 楼主| 发表于 2014-5-14 09:06:11 | 显示全部楼层
回复 3# CrLf 文件名相同格式不同文件大小求和
 楼主| 发表于 2014-5-14 09:40:08 | 显示全部楼层
回复 3# CrLf 这提取文件大小单位是什么?字节?
 楼主| 发表于 2014-5-14 11:09:11 | 显示全部楼层
回复 3# CrLf 怎么输出到文本
发表于 2014-5-14 13:17:59 | 显示全部楼层
回复 7# wang5185244


输出重定向
http://bbs.bathome.net/thread-2516-1-1.html
发表于 2014-5-14 13:31:04 | 显示全部楼层
本帖最后由 apang 于 2014-5-14 13:35 编辑

保存为test.vbs,更改第一行路径为实际路径
  1. path = "d:\Test"
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. Set dic = CreateObject("Scripting.Dictionary")

  4. For Each f in fso.GetFolder(path).Files
  5.     strName = LCase(fso.GetBaseName(f))
  6.     If dic.Exists(strName) Then
  7.         dic.Item(strName) = dic.Item(strName) + f.Size
  8.     Else
  9.         dic.Add strName, f.Size
  10.     End If
  11. Next

  12. For Each a in dic.Keys
  13.     s = s & a & ".*" & vbTab & dic.Item(a) & " Byte" & vbCrLf
  14. Next

  15. fso.CreateTextFile("Result.txt", true).Write s
  16. CreateObject("WScript.Shell").Run "NotePad Result.txt"
复制代码
 楼主| 发表于 2014-5-19 18:52:31 | 显示全部楼层
回复 9# apang


    如果是其他格式呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 06:33 , Processed in 0.033905 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表