Meh*_*lar 14 windows-7 recycle-bin
在 Windows XP 上,可以很容易地看到回收站的总大小,但在 Windows 7 上看不到。为什么 Microsoft 隐藏/删除此功能?我错过了什么吗?
备注 1:我不需要查看 Recyle Bin 可以包含的最大大小。
备注 2:在回收站中选择多个文件后,您会在状态栏中看到“查看更多详细信息”链接,但单击该链接不会显示总文件大小。微软显然已经改变了这一点。
按项目类型对回收站进行排序,然后选择所有文件,不要选择任何目录。如果您显示详细信息,您将能够在底部看到所有文件的大小。
另一种方法是选择系统根目录中名为 $Recycle.bin 的所有隐藏系统文件夹并查看您选择的详细信息或属性,但上述方法应该只是...
DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s)
Run Code Online (Sandbox Code Playgroud)
请参阅上述命令的最后一个条目以从命令提示符获取回收站的大小。
我想知道为什么知道回收站的大小很重要,当您想知道自己获得了多少空间时,最好使用磁盘清理或类似工具,但对于删除已删除的项目,则没有必要。我认为他们忽略了该功能,因为它必须查看不同的回收站,但实际上,如果付出额外的努力,实施起来并不难......

我也遇到了这个。
接受的答案不能满足我的需求。我想知道所有回收站的大小以及它们的总数。
使用 WMI 提供程序,很容易做到这一点:( 另存为 .vbs 文件)
dim oFS, oFolder, fileSizeTotal
Dim objWMIService, objItem, colItems, colPartitions, objPartition, _
objLogicalDisk, colLogicalDisks
Dim strComputer, strMessage, strPartInfo,strDeviceID,ret
set oFS = WScript.CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject( "WScript.Shell" )
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive")
For Each objItem in colItems
strDeviceID = Replace(objItem.DeviceID, "\", "\\")
Set colPartitions = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & strDeviceID & _
"""} WHERE AssocClass = Win32_DiskDriveToDiskPartition")
For Each objPartition In colPartitions
Set colLogicalDisks = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & _
objPartition.DeviceID & _
"""} WHERE AssocClass = Win32_LogicalDiskToPartition")
strPartInfo = strPartInfo & "Disk Partition: " & objPartition.DeviceID
For Each objLogicalDisk In colLogicalDisks
strPartInfo = strPartInfo & " " & objLogicalDisk.DeviceID
ret = ret & objLogicalDisk.DeviceID & "\"
if oFS.FolderExists(objLogicalDisk.DeviceID&"\$Recycle.Bin") then
RECpath=oShell.ExpandEnvironmentStrings( _
objLogicalDisk.DeviceID & "\$Recycle.Bin")
set oFolder = oFS.GetFolder(RECpath)
ShowFolderDetails(oFolder)
else
ret = ret & " -empty- " & vbCr
end if
Next
strPartInfo = strPartInfo & vbCr
Next
Next
Wscript.Echo ret & "---------" & vbCr & "Total: " & calcSize(fileSizeTotal)
WSCript.Quit
Sub ShowFolderDetails(oF)
Dim size
fileSizeTotal = fileSizeTotal + oF.Size
size = calcSize(oF.Size)
ret = ret & " = " & size & vbCr
end Sub
function calcSize(sizeInB)
Dim fSize, iKB, iMB, iGB, d
iKB = 1024
iMB = iKB * 1024
iGB = iMB * 1024
d = 2
if sizeInB >= iGB then
fSize = round(sizeInB/iGB,d) & " GB"
elseif sizeInB >= iMB then
fSize = round(sizeInB/iMB,d) & " MB"
elseif sizeInB >= iKB then
fSize = round(sizeInB/iKB,d) & " KB"
else
fSize = sizeInB & " B"
end if
calcSize = fSize
end function
Run Code Online (Sandbox Code Playgroud)
编辑: 我更新了脚本,因此如果分区没有回收站,它不会崩溃。现在字节也可以正确显示
| 归档时间: |
|
| 查看次数: |
20661 次 |
| 最近记录: |