gpt4 book ai didi

batch-file - 使用批处理文件获取 'MB' 目录的大小

转载 作者:行者123 更新时间:2023-12-04 01:43:50 25 4
gpt4 key购买 nike

我想使用批处理文件以 MB 获取目录的大小,例如 C:\Temp。我不需要子目录或文件的大小,而是目录本身的大小。

我在 How to list all folder with size via batch file 找到了答案

但它给了我字节 和子文件夹的大小。所以我的问题是:

如何获取以 MB 为单位的目录本身的大小?

最佳答案

您可以使用像这样的混合脚本[Batch/Vbscript]来做到这一点:

@echo off
set Folder="C:\temp"
echo The size of %Folder% is
Call :GetSize %Folder%
pause
:GetSize
(
echo wscript.echo GetSize("%~1"^)
echo Function GetSize(MyFolder^)
echo Set fso = CreateObject("Scripting.FileSystemObject"^)
echo Set objFolder= fso.GetFolder(MyFolder^)
echo GetSize = FormatSize(objFolder.Size^)
echo End Function
echo '*******************************************************************
echo 'Function to format a number into typical size scales
echo Function FormatSize(iSize^)
echo aLabel = Array("bytes", "KB", "MB", "GB", "TB"^)
echo For i = 0 to 4
echo If iSize ^> 1024 Then
echo iSize = iSize / 1024
echo Else
echo Exit For
echo End If
echo Next
echo FormatSize = Round(iSize,2^) ^& " " ^& aLabel(i^)
echo End Function
echo '*******************************************************************
)>%tmp%\Size.vbs
Cscript /NoLogo %tmp%\Size.vbs
Del %tmp%\Size.vbs
Exit /b

编辑:2016 年 3 月 30 日 @12:11

这是一个不错的技巧

the Liviu's hack for embedding vbscode in batch without temp files

多亏了他,我才从 npocmaka 那里发现

@echo off
Set Folder="c:\temp"
@cScript.EXE //noLogo "%~f0?.WSF" %Folder% //job:info %~nx0%*
pause
@exit /b 0
<job id="info">
<script language="VBScript">
wscript.echo GetSize(WScript.Arguments(0))
Function GetSize(MyFolder)
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFolder= fso.GetFolder(MyFolder)
GetSize = FormatSize(objFolder.Size)
End Function
'*******************************************************************
'Function to format a number into typical size scales
Function FormatSize(iSize)
aLabel = Array("bytes", "KB", "MB", "GB", "TB")
For i = 0 to 4
If iSize > 1024 Then
iSize = iSize / 1024
Else
Exit For
End If
Next
FormatSize = Round(iSize,2) & " " & aLabel(i)
End Function
'*******************************************************************
</script>
</job>

关于batch-file - 使用批处理文件获取 'MB' 目录的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36301198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com