如何通过命令提示符检查Windows中的文件夹大小

时间:2014-01-08 08:04:53

标签: file cmd directory

如何通过命令提示符检查Windows中的文件夹大小

例如在C:\Windows中说有很多文件和文件夹。

如何获取这些文件和文件夹的大小

在unix中是否有与du -sg *类似的命令?

我试过dir会给文件不是文件夹

2 个答案:

答案 0 :(得分:1)

@ECHO OFF
SETLOCAL
FOR /f "tokens=1,2,3" %%a IN ('dir /s') DO (
 IF "%%b"=="File(s)" SET $files=%%a&SET $bytes=%%c
 IF "%%b"=="Dir(s)" SET $dirs=%%a&SET $free=%%c
)
SET $

GOTO :EOF

这应该设置一些感兴趣的变量。

您应该能够插入一个pusd / popd支架

PUSHD someotherdirectory
for /f ....
...
)
POPD
...

如果您愿意,请阅读someotherdirectory的特征。

答案 1 :(得分:0)

Windows文件夹的大小 - 按MB排序和列出 - 从高到低

@echo off
pushd "c:\windows"
for /f "delims=" %%a in (' dir /ad /b ') do call :size "%%~fa"
sort /r < "%temp%\dirsize.tmp" |more
del "%temp%\dirsize.tmp"
popd
pause
goto :eof

:size
for /f "tokens=3" %%b in ('dir /s "%~1" 2^>nul ^|find " File(s) "') do set "n=%%b"
set "n=%n:,=%"

>"%temp%\VBS.vbs" echo Set fso = CreateObject("Scripting.FileSystemObject"^) : Wscript.echo int((%n%/1024/1024))
for /f "delims=" %%z in ('cscript /nologo "%temp%\VBS.vbs"') do set "dirsize=%%z"
del "%temp%\VBS.vbs"

set dirsize=               %dirsize%
set dirsize=%dirsize:~-15%
>>"%temp%\dirsize.tmp" echo %dirsize% "%~1"