如何通过命令提示符检查Windows中的文件夹大小
例如在C:\Windows
中说有很多文件和文件夹。
如何获取这些文件和文件夹的大小
在unix中是否有与du -sg *
类似的命令?
我试过dir会给文件不是文件夹
答案 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"