标题: [文件操作] 批处理BAT如何提取文件大小? [打印本页]
作者: wang5185244 时间: 2014-5-13 22:57 标题: 批处理BAT如何提取文件大小?
某目录下存在很多名称不相同的文件,但是相同名称存在不同格式;
例如:
123456.txt
123456.doc
123456.xls
654321.txt
654321.doc
654321.doc
……
现在提取相同名称文件的大小:123456.*的文件大小654321.*的文件大小……求各位大神指导
作者: terse 时间: 2014-5-13 23:27
FOR %%~zi 扩张到文件大小
作者: CrLf 时间: 2014-5-13 23:53
系统默认就是按文件名排序的,所以...- for %%a in (*) do echo %%a 大小为: %%~za
复制代码
如果非要按一组一组显示,可以这样:- @echo off
- for %%a in (*.txt) do (
- echo %%~na.*------------
- for %%b in ("%%~na.*") do echo %%~xb 大小为:%%~zb
- )
- pause
复制代码
作者: wang5185244 时间: 2014-5-14 09:04
回复 3# CrLf 我想将名字相同格式不同的大小去和,在这基础上怎么改,谢谢
作者: wang5185244 时间: 2014-5-14 09:06
回复 3# CrLf 文件名相同格式不同文件大小求和
作者: wang5185244 时间: 2014-5-14 09:40
回复 3# CrLf 这提取文件大小单位是什么?字节?
作者: wang5185244 时间: 2014-5-14 11:09
回复 3# CrLf 怎么输出到文本
作者: Batcher 时间: 2014-5-14 13:17
回复 7# wang5185244
输出重定向
http://bbs.bathome.net/thread-2516-1-1.html
作者: apang 时间: 2014-5-14 13:31
本帖最后由 apang 于 2014-5-14 13:35 编辑
保存为test.vbs,更改第一行路径为实际路径- path = "d:\Test"
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set dic = CreateObject("Scripting.Dictionary")
-
- For Each f in fso.GetFolder(path).Files
- strName = LCase(fso.GetBaseName(f))
- If dic.Exists(strName) Then
- dic.Item(strName) = dic.Item(strName) + f.Size
- Else
- dic.Add strName, f.Size
- End If
- Next
-
- For Each a in dic.Keys
- s = s & a & ".*" & vbTab & dic.Item(a) & " Byte" & vbCrLf
- Next
-
- fso.CreateTextFile("Result.txt", true).Write s
- CreateObject("WScript.Shell").Run "NotePad Result.txt"
复制代码
作者: wang5185244 时间: 2014-5-19 18:52
回复 9# apang
如果是其他格式呢?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |