|
在一个目录下会有子目录,子目录下也可能有子目录, dir 命令的 /s 选项可获取子目录信息大小信息,比如:
如上图所示,命令可以列出某个子目录下所包含的文件,并统计出其数目,以及这些文件总共的大小。需要注意的是,如果右键查看某个文件夹属性,会看到“大小”和“占用空间”的情况,“大小”是实际的大小,但“占用空间”则大于等于“大小”,它表示实际占用的硬盘空间,这根文件系统的存储格式有关(Windows 以 “簇” 为空间来管理,一个簇可以包含2,4,8,16,32,64个扇区,如果实际大小是 3 个扇区,那么占用的空间要以 4 个扇区来计算)。dir /s 给出的就是里头实际大小,而不是这个目录所占用的空间。
下面代码用来列出每个目录占用的实际大小:
- @echo off
- for /f "tokens=*" %%b in ('dir') do echo "%%b"|find "个文件">nul&&for /f "tokens=3*" %%c in ("%%b") do echo 当前目录 %%c %%d
- for /f %%a in ('dir/ad/s/b') do for /f "tokens=*" %%b in ('"dir %%a\"') do echo "%%b"|find "个文件">nul&&for /f "tokens=3*" %%c in ("%%b") do echo %%a %%c %%d
- pause
复制代码
token=3* 表示显示从第三列开始到最后的所有列的内容。
%%c, %%d 是使用 tokens 导致的额外变量名的分配,具体请参考《for 循环》。
第一条语句得出的是当前目录的大小。
第二条语句是罗列出所有子目录的大小。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|