我在我的Vista机器上遇到了存储问题,需要找出占用大量空间的原因。
我想编写一个简单的批处理文件,返回C盘下的所有文件夹及其大小。
dir
命令似乎无法返回文件夹大小。
不幸的是,我们没有管理员权限,无法安装第三方应用程序,并且我们组中的其他用户也需要这些信息。
我在我的Vista机器上遇到了存储问题,需要找出占用大量空间的原因。
我想编写一个简单的批处理文件,返回C盘下的所有文件夹及其大小。
dir
命令似乎无法返回文件夹大小。
不幸的是,我们没有管理员权限,无法安装第三方应用程序,并且我们组中的其他用户也需要这些信息。
我建议您查看这个帖子,以获取有关如何计算目录大小的线索:
或者您也可以使用以下命令:
dirsize:
@echo off
setLocal EnableDelayedExpansion
set /a value=0
set /a sum=0
FOR /R %1 %%I IN (*) DO (
set /a value=%%~zI/1024
set /a sum=!sum!+!value!
)
@echo %CD%:!sum! k
AllDirSize:
echo off
set WORKING_DIRECTORY=%cd%
for /f "delims=" %%a in ('dir /a:D /D /B /S') do (
echo off
cd %%a
"%WORKING_DIRECTORY%"\dirsize "%%a"
cd %WORKING_DIRECTORY%
)
使用方法:ALLDIRSIZE > C:\temp\FileContainingFolderSizes.txt
以上内容摘自优秀的Richard Bishop测试论坛:http://www.bish.co.uk/forum/index.php?topic=58.0
并不完全回答你的问题,但如果你有图形用户界面(GUI)访问权限,我建议使用TreeSize: http://www.jam-software.com/freeware/index.shtml
如果你更喜欢使用命令行,可以使用Unix utils中的du命令: http://unxutils.sourceforge.net/
find . -maxdepth 1 -exec du -sh {} +
命令。请注意确保您使用的是UnxUtils find(或gnuwin32),而不是内置的Windows find
命令(运行which find
命令将告诉您正在使用哪个)。 - User