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

[文件操作] [已解决]批处理如何以MB为单位批量提取文件大小及文件名?

[复制链接]
发表于 2023-4-2 11:52:00 | 显示全部楼层
回复 30# ww0000
是这个意思吗
第七行 f.Name前加上路径 Folder
  1.     Folder+'\\'+f.Name   
复制代码
发表于 2023-4-2 12:42:08 | 显示全部楼层
回复 31# terse

是这个意思,但只能获取当前路径,不能获取子目录的路径
发表于 2023-4-2 14:07:27 | 显示全部楼层
回复 32# ww0000
修改了一下,看行不,这个是能显示子目录的,
  1. @if(0)==(0) echo off & dir /b /s /os/a-d "c:\test" | CScript -NoLogo -E:JScript %0 >文件名_大小.txt &  pause & exit @end
  2. var fso=new ActiveXObject("Scripting.FileSystemObject");
  3. var arr=[], k=1024, m=1048576, g=1073741824;
  4. while (!WScript.StdIn.AtEndOfStream){
  5.     var name = WScript.StdIn.ReadLine();
  6.     var f =fso.GetFile(name)
  7.     arr.push([name,f.size]);
  8. };
  9. arr = arr.sort(function(a,b){ return a[1] - b[1]});
  10. for (i = 0,len = arr.length; i < len; i++) {
  11.     WSH.Echo(arr[i][0],filesize(arr[i][1]))
  12. }
  13. function filesize(size) {
  14.     switch(true){
  15.         case size>g :
  16.             size = (size/g).toFixed(2) + ' GB';
  17.             break;
  18.         case size>m :
  19.             size = (size/m).toFixed(2) + ' MB';
  20.             break;
  21.         case size>k :
  22.             size = (size/k).toFixed(2) + ' KB';
  23.             break;
  24.         default :
  25.             size = size + ' 字节';
  26.     };
  27.     return size;
  28. }
复制代码

评分

参与人数 1技术 +1 收起 理由
ww0000 + 1 感谢帮助!

查看全部评分

发表于 2023-4-2 14:40:54 | 显示全部楼层
回复 33# terse


    谢谢,可以获取子目录的,另外能不能按文件名排序呢?
发表于 2023-4-2 17:05:45 | 显示全部楼层
回复 34# ww0000
dir 参数 /os 换为 /on
发表于 2023-4-2 17:31:05 | 显示全部楼层
本帖最后由 terse 于 2023-4-2 17:33 编辑

回复 34# ww0000
对了 这个是名称排序的
arr = arr.sort(function(a,b){ return a[0] - b[0]});

其实 第一排 dir /b /s /a-d 这个按名称排序的 可以直接输出的

评分

参与人数 1技术 +1 收起 理由
ww0000 + 1 感谢帮助!

查看全部评分

发表于 2023-4-2 19:38:03 | 显示全部楼层
回复 36# terse


    谢谢老师的帮助!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 17:23 , Processed in 0.017581 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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