用批处理实现Windows下子目录大小统计功能
2011-07-07 15:06
323 查看
用批处理实现Windows下子目录大小统计功能
吴旻泰岩网络工作室
统计当前目录下各文件夹的大小,在Linux下面比较简单,一个 du -sh * 命令就基本解决问题了。虽然在资源管理器是单击右键,然后选属性可以看到某个文件夹的大小,但当我想知道C:\windows目录下哪个子目录占用了1G以上的空间时,这个方法就显得太笨了,要一个一个点半天才能有结果。
本文提到的方法,是利用了 dir /s 这个命令,它可以对一个目录进行统计,并在最后给出综合的结果。核心的代码有三部分:
1、用 dir /ad /b %1 > 1.txt 将指定目录下的子目录保存到 1.txt 文件中,以备后用
2、使用 for 语句从 1.txt 文件中读出每一个子目录,再用 dir /s 将此子目录的结果保存到 2.txt 文件中。
3、从 2.txt 文件中读出最后一行,就是想要的那个子目录的统计结果。此处,我再次使用了 for 语句的功能,即逐行读出,但只显示最后一行。
其它部分代码,是配合整个批处理来使用的。把如下代码保存了一个批处理文件(如:lu.bat),就可以使用了
@echo off IF [%1]==[] GOTO USAGE if NOT exist "%1" (ECHO "%1" path not exist & GOTO END) :DIR_PATH dir /ad /b %1 > 1.txt setlocal enabledelayedexpansion for /f "tokens=*" %%i in (1.txt) do ( rem echo dir /s "%1\%%i" |findstr 个文件 > 2.txt || echo. > 2.txt rem for /f "eol=0 tokens=1,3 " %%j in (2.txt) do set ll=%%k 字节 %1\%%i %%j 个文件 for /f "eol=0 tokens=1,3 " %%j in (2.txt) do set ll=%%k & set ll=!ll:~0,-9! M %1\%%i %%j 个文件 echo !ll! rem echo. ) set total= Endlocal del 1.txt 2.txt GOTO END :USAGE echo Usage: %0 dir_path GOTO END :END rem pause
相关文章推荐
- python实现统计windows上目录(含子目录)大小
- 技巧:利用windows下的bat批处理文件实现一拖得功能
- Linux -- 配置Samba加入Windows活动目录,实现Windows中DFS功能
- python批处理实现爬取网页静态图片文件重命名图片统一修改大小等功能
- php实现统计目录文件大小的函数
- Android编程实现canvas绘制饼状统计图功能示例【自动适应条目数量与大小】
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- ASE15.0中利用代理表实现统计用户表存储空间大小的功能
- windows 10 build 9926开始菜单如何实现可调整大小功能?
- php实现统计目录文件大小的函数
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
- C语言实现查看一个文件夹目录里面所有内容的大小功能
- 基于.NET平台的Windows编程实战(七)—— 问卷统计功能的实现
- JS实现统计字符串中字符出现个数及最大个数功能示例
- 如何用VC60实现类似windows搜索文件的功能,针对文件夹中包含的文件名进行模糊查
- windows 2008 server 实现 IIS 虚拟目录共享
- C#实现统计字数功能的方法
- docker1.9目录结构及各目录实现的功能