Windows 7:如何显示回收站的总大小


13

在Windows XP上,可以很容易地看到回收站的总大小,但是在Windows 7上却看不到它。为什么Microsoft隐藏/删除了此功能?我想念什么吗?

备注1:我不需要查看Recyle Bin可以容纳的最大大小。

备注2:在回收站中选择了几个文件后,状态栏中会显示“查看更多详细信息”链接,但是单击该链接不会显示文件总大小。微软显然已经改变了这一点。

Answers:


4

我碰到了这个。

接受的答案不能满足我的需求。我想知道所有回收箱的大小以及总数。

使用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
    Wscript.Echo ret & "---------" & vbCr & "Total: " & calcSize(fileSizeTotal)
Next
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

或从此处获取:http : //dl.dropbox.com/u/32933085/RecycleBinInfo.vbs

编辑: 我更新了脚本,因此如果分区没有回收站,它将不会崩溃。现在字节也可以正确显示


7

按项目类型对回收站进行排序,然后选择所有文件,而不选择任何目录。如果显示详细信息,您将在底部看到所有文件的大小。

另一种方法是在系统根目录中选择所有名为$ Recycle.bin的隐藏系统文件夹,并查看所选内容的详细信息或属性,但是上述方法应该可以...

DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s)

请参阅以上命令的最后一项,以从命令提示符处获取回收站的大小。

我想知道为什么要知道回收站的大小很重要,当您想知道有多少空间时,最好使用磁盘清理或类似的工具,但是不必删除已删除的项目,这是没有必要的。我认为他们将这一功能遗漏了,因为它必须查看不同的回收站,但实际上,通过额外的努力,实现起来并不难...

在此处输入图片说明


1
您还需要取消选择快捷方式,因为它们也会干扰大小(有时并不需要,有时甚至会;我怀疑这取决于它们是否有效)。当然,您箱中的物品越多,显示总大小所需的时间就越长。至于知道尺寸的原因,仅仅是因为汤姆无法想到一个尺寸,并不意味着我们其他想要知道的尺寸都不应该。我发现这种行为7是操作系统中最糟糕的部分之一。此外,取消选择文件夹的解决方案也不好,因为它不包括它们。(并且磁盘清理不好。)
Synetech 2011年

@Synetech:请检查您的假设:快捷键不会干扰,因为它们本身具有大小,它们并不引用目标文件的大小。您需要显示所有文件,以便仅排除文件夹本身,请使用搜索选项。另外,也不要抱怨无法思考,因为您也不会思考。为什么失去存在的事物的大小很快就会变得重要?另外,您是否检查了第二段?DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s)磁盘清理效果很好,请以鼠尾草模式运行。
Tamara Wijsman

我已经说过,有时快捷键不会干扰。在取消选择快捷方式之前,我至少有两次未显示大小的信息,尽管可能是因为垃圾箱在XP中的响应速度太慢且在7中效率不高(通常需要永久读取“读取”文件(如果有很多):地址栏中的灰色进度条)。我可以想到一个原因,我想知道垃圾箱中有多少空间。您显然有足够的空间,但是那些不经常看可能会回收多少空间的人-他们并不一定要“失去他们的存在”。
Synetech 2011年

哦,那第二段呢?这对于多个卷中的项目不起作用。显然,您要么只有一个驱动器,要么以一种通常简单的方式执行操作,如果您没有想到用户可能想知道当前跨多个驱动器删除的文件和文件夹的总数(可能会也可能不会恢复) )。同样,如果“磁盘清理”对您来说足够好,那是因为您以简单的方式进行操作。当然这并不能为文件从任意文件夹,从第三方浏览器等高速缓存
Synetech

@Synetech:您的第一句话描述的是极其狭窄的情况,这种情况不适用于全世界的观众,并且实际上并没有为这次讨论增加任何价值:您在谈论无法描述的快捷方式;关于由于硬盘性能不佳而导致回收站无响应的情况;在空间不足且不知道最近删除的东西的大小的情况下恢复要删除的东西,在这种情况下也不太可能恢复整个回收站,所以我看不到您对我的第一段有什么问题……
Tamara Wijsman

3

如果Microsoft可以使我们避免所有这些麻烦,只执行XP回收站所具有的功能,那将是很好的。太糟糕了。

我能找到的最简单的解决方案是:

  1. 在“文件夹选项”中,打开隐藏文件和文件夹以及受保护的操作系统文件的显示。
  2. 浏览到C:驱动器,打开$Recycle.Bin文件夹,然后右键单击并选择您看到的“回收站”图标的属性。

这将显示总大小。


1

在Microsoft论坛(此处此处)中建议运行磁盘清理程序将提供回收站中所有文件的总大小。没有类似于Windows XP中以前实现的直接方法。


我不想看到最大数量。这不是解决方案。关于答案的最后一段:选择了几个文件后,状态栏中会显示“查看更多详细信息”链接,但是单击该链接不会显示总文件大小。因此,这也不起作用。
Mehper C. Palavuzlar,2010年

您说得对-对不起。看完这篇文章(en.wikipedia.org/wiki/Recycle_Bin_(Windows) ),它看起来像MS已经改变了一些事情在Windows 7
Isxek

我根据进一步的搜索对答案进行了修改。(我不确定是否应该删除以前的答案,但这至少应该有所帮助。)
Isxek 2010年

因此,您的发现向我展示了Microsoft在删除此功能方面所做的工作完全是废话。我完全同意在MS Answers中撰写以下帖子的用户:It would have been good if MS would save us people trouble to go to all these lengths and just implement the functionality the XP recycle bin had. How difficult it would be to copy old code into the new version anyways?
Mehper C. Palavuzlar,2010年

1

您可以使用Rainmeter之类的东西,它可以在桌面上显示一个项目,其中包含回收站中项目的大小,虽然不理想,但可以选择。

希望这可以帮助 :)


1

WinDirStat将计算回收站的大小,并以图形表示形式显示HD上所有文件及其空间的使用方式。如果您想弄清楚驱动器上的空间去了哪里,那比尝试仅使用资源管理器来尝试要好得多。


0

我有Windows 7,但我也有一个问题,当我清空回收站时,无法找到可以释放的空间量。阅读以上建议后,我发现,如果仅在选择中不包含文件夹,则在回收站中选择所有文件时,Windows 7确实会显示总大小。可以通过打开每个文件夹并选择上述文件来确定文件夹的大小。

仅供参考(不意味着侮辱任何人):要打开回收站后选择所有文件,请按CTRL键和“ A”。要在选择所有文件夹后取消选择文件夹,请按住CTRL键,然后单击文件夹。取消选择任何文件夹后,大小将显示在底部。

不幸的是,如果回收站中有很多文件夹,则必须单独单击这些文件夹,然后手动添加大小以获得回收站的总大小。因此,在这种情况下,如先前建议的那样,在C驱动器的$ Recycle.Bin文件夹中右键单击/属性可能会更容易。


0

在Windows 7上,我使用了Recycle Bin Vista Gadget,这很棒。但是,我无法安装它了。在许多软件存储库/在线商店中都有(丑陋的安装程序随附)。

我刚刚发现e-sushi的MiniBin在托盘上放了一个图标。井井有条!现在在Windows 8上使用它。


0

Windows 7:如何显示回收站的总大小

在Windows XP上,可以很容易地看到回收站的总大小,但是在Windows 7上却看不到它。为什么Microsoft隐藏/删除了此功能?我想念什么吗?

不,您不会/不会丢失任何东西。由于某些未知的原因,Microsoft决定做出可怕的UI / UX决定,并使得在Vista及更高版本中很难/不方便/不可能看到回收文件和文件夹的大小。

备注1:我不需要查看Recyle Bin可以容纳的最大大小。

当然,您不需要知道实际文件和文件夹的大小。例如,如果您删除一堆东西,您希望能够看到要释放多少空间。此外,您可能需要知道某些回收文件和文件夹已经占用了多少。

备注2:在回收站中选择了几个文件后,状态栏中将显示“查看更多详细信息”链接。

Windows拒绝显示有关15个以上文件的信息,这是另一个令人困惑的设计选择。更差,

但单击该按钮不会显示总文件大小。微软显然已经改变了这一点。

除了资源管理器和回收站的所有其他问题外,它简直就是断断续续。资源管理器中存在一个错误,即使选择了一个快捷方式或文件夹,它也可以阻止回收站显示垃圾箱中所选项目的大小。这不要紧,你有多少项目中选择,如果他们中的一个,甚至是一个快捷方式或文件夹,浏览器将不显示尺寸在所有,即使它清楚的知道每这些项目的规模大小旁边列他们。

无论如何,您想要的是一个解决方案。事实证明,最简单的解决方案是使用免费的增强外壳的Classic Shell,它可以通过将Shell恢复到大多数人都满意的XP中的方式来修复 Windows。除了改进的所有其他功能外,它还原的功能之一就是能够在回收站中查看大小。它显示所有选中项目的大小,无论选中了什么项目或选中了多少项目(图1)。


图1:安装了Classic Shell的Windows 7回收站的屏幕快照,显示了21个选定的回收站项目(包括快捷方式和文件夹)的大小。

安装了Classic Shell的Windows 7回收站的屏幕快照,显示大小


0
  1. 导航到您的回收站
  2. Ctrl+A
  3. Ctrl+C
  4. 将所有内容粘贴到另一个文件夹中

如果粘贴足够大,Microsoft将为您提供一个加载条,以达到“移动X GB内存”的效果

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.