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

[文件操作] [已解决]批处理如何批量读取文件夹大小?

[复制链接]
发表于 2024-8-21 20:38:39 | 显示全部楼层 |阅读模式
本帖最后由 liaoguinan 于 2024-8-23 21:41 编辑

D:\测试\1
D:\测试\2
D:\测试\3
D:\测试\4\2
..........
如上面文件夹例子可能会存在多层文件夹,如何批量检测D盘下的“
测试”文件夹里的所有子文件夹里的文件大小总大小并把结果保存记事本里
发表于 2024-8-21 23:43:01 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-22 10:44 编辑

回复 1# liaoguinan

直接从 dir/s/-c/a-d 列表中截取
以下代码在 "测试" 文件夹下运行...

  1. dir/s/-c/a-d|findstr /re /c:" 的目录" /c:" [ 0-9]* 字节">"全部子目录文件大小统计.txt"
复制代码
 楼主| 发表于 2024-8-22 21:45:40 | 显示全部楼层
回复 2# aloha20200628


    这个单位字节能改成MB吗?
发表于 2024-8-22 22:47:01 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-23 21:25 编辑

回复 3# liaoguinan

以下代码存为 test.bat 在 "测试" 文件夹下运行...

  1. @echo off &setlocal &set "F=全部子目录文件大小统计.txt"
  2. dir/s/-c/a-d|findstr /re /c:" 的目录" /c:" [ 0-9]* 字节">"0.0"
  3. powershell "gc 0.0|%%{$a=$_.split(' ');if($a[-1] -eq '字节'){$a[-2]=[math]::round($a[-2]/1mb);$a[-1]='MB'};(($a -join ' ') -replace '[ ]+',' ')}">"%F%"
  4. del /q "0.0" &endlocal &pause &exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
liaoguinan + 1 完美

查看全部评分

 楼主| 发表于 2024-8-23 20:29:59 | 显示全部楼层
回复 4# aloha20200628


    所在位置 行:1 字符: 38
+ gc 0.0|:round($a[-2]/1mb);$a[-1]='MB'};(($a -join ' ') -replace '[ ]+ ...
+                                      ~
表达式或语句中包含意外的标记“}”。
所在位置 行:1 字符: 76
+ ... :round($a[-2]/1mb);$a[-1]='MB'};(($a -join ' ') -replace '[ ]+',' ')}
+                                                                         ~
表达式或语句中包含意外的标记“}”。
    + CategoryInfo          : ParserError: ( [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken
发表于 2024-8-23 21:21:17 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-23 21:37 编辑

回复 5# liaoguinan

一不小心就漏写了 ‘%%’   4楼代码已订正...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 21:05 , Processed in 0.017830 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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