Windows 7: как отобразить общий размер корзины

13

В Windows XP общий размер корзины можно было легко увидеть, но я не вижу его в Windows 7. Почему Microsoft скрыла / удалила эту функцию? Я что-то пропустил?

ЗАМЕЧАНИЕ 1: Мне не нужно видеть максимальный размер, который может содержать Recyle Bin.

ЗАМЕЧАНИЕ 2. После выбора нескольких файлов в корзине вы получаете ссылку «Подробнее» в строке состояния, но при щелчке по ней общий размер файла не отображается. Microsoft видимо изменила это.

Мехпер С. Палавузлар
источник

Ответы:

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

редактировать: я обновил скрипт, чтобы он не падал, если в разделе нет корзины. Также байты теперь отображаются правильно

Ashwin
источник
7

Сортируйте корзину по типу элемента, затем выберите все файлы, не выбирайте каталоги. Внизу вы сможете увидеть размер всех файлов, если вы покажете подробную информацию.

Альтернативный способ - выбрать все скрытые системные папки с именем $ Recycle.bin в системном корне и просмотреть сведения или свойства по вашему выбору, но вышеуказанный метод должен просто ...

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

Посмотрите последнюю запись вышеупомянутой команды, чтобы получить размер корзины из командной строки.

Интересно, почему так важно знать размер корзины, когда вы хотите узнать, сколько места вы зарабатываете , лучше использовать Disk Cleanup или аналогичный инструмент, но просто избавиться от удаленных элементов не нужно. Я думаю, что они упустили эту функцию, потому что она должна была бы рассмотреть различные корзины, но, действительно, с дополнительными усилиями это не будет трудно реализовать ...

введите описание изображения здесь

Тамара Вийсман
источник
1
Вы также захотите отменить выбор ярлыков, потому что они тоже могут влиять на размер (иногда они не нужны, иногда они есть; я подозреваю, что это зависит от того, действительны ли они). Конечно, чем больше предметов у вас в корзине, тем дольше будет отображаться общий размер. Что касается причины знать размер, то, что Том не может думать об одном, не означает, что остальные из нас, кто хочет знать, не должны. Я считаю такое поведение 7 одной из худших частей ОС. Кроме того, решение об отмене выбора папок бесполезно, поскольку оно не включает их. (А
очистка
@Synetech: Проверьте свои предположения, пожалуйста: ярлыки не мешают, потому что они имеют размер, они не относятся к размеру целевого файла. Вам нужно показать все файлы, чтобы исключить только саму папку, используйте для этого параметр поиска. Кроме того, не жалуйтесь на неспособность думать, потому что вы не можете думать ни о чем. Почему размер вещей, которые теряют свое существование, скоро имеет значение вообще? Кроме того, вы проверили второй абзац? DIR /S %SYSTEMDRIVE%\$RECYCLE.BIN | FINDSTR /C:File(s)Очистка диска хороша, запустите его в режиме Sage.
Тамара Вийсман
Я уже говорил, что иногда ярлыки не мешают. У меня было по крайней мере два раза, когда размер не отображался до тех пор, пока я не отменил выбор ярлыка, хотя это могло произойти из-за того, что корзина настолько не отвечает и неэффективна в 7 по сравнению с XP (обычно «чтение» файлов, если их много: серая полоса прогресса в адресной строке). Я могу придумать причину, по которой я хочу знать, сколько места в корзине. Очевидно, у вас достаточно места, но те, кто не часто смотрит на то, сколько места может быть восстановлено - они не обязательно собираются «потерять свое существование».
Synetech
Ох, и что насчет второго абзаца? Это ничего не делает для предметов из нескольких томов. Очевидно, что у вас либо только один диск, либо вы делаете что-то простым способом, если вам не приходит в голову, что пользователь может захотеть узнать общее количество файлов и папок, которые в данный момент удалены на нескольких дисках (и могут быть восстановлены или не восстановлены). ). Опять же, если Disk Cleanup достаточно хорош для вас, это потому, что вы делаете вещи простым способом. Он ничего не делает для файлов из произвольной папки, кеша от стороннего браузера и т. Д.
Synetech
@Synetech: Ваш первый комментарий описывает чрезвычайно узкие ситуации, которые не относятся к мировой аудитории и действительно не повышают ценность этого обсуждения: вы говорите о ярлыках, которые вы не можете описать; о невосприимчивой корзине из-за плохо работающего жесткого диска; восстановление вещей, которые вы намереваетесь удалить при условии нехватки места и незнании размера того, что вы недавно удалили, также маловероятно, что в этом случае вы восстановите всю корзину, поэтому я не вижу какая у вас проблема с моим первым абзацем ...
Тамара Вийсман
3

Было бы хорошо, если бы Microsoft избавила нас от трудностей, чтобы пойти на все эти длины и просто реализовать функциональность корзины XP. Печалька.

Самое простое решение, которое я смог найти, это следующее:

  1. В разделе «Параметры папки» включите отображение скрытых файлов и папок, а также защищенных файлов операционной системы.
  2. Перейдите на диск C :, откройте $Recycle.Binпапку, затем щелкните правой кнопкой мыши и выберите свойства значка корзины, который вы видите.

Это покажет общий размер.

Мехпер С. Палавузлар
источник
1

На форумах Microsoft ( здесь и здесь ) было предложено, чтобы при запуске программы очистки диска был указан общий размер всех файлов в корзине. Там нет прямого подхода, аналогичного тому, что было реализовано ранее в Windows XP.

Isxek
источник
Я не хочу видеть максимум. Это не решение. Относительно последнего абзаца вашего ответа: После того, как вы выбрали несколько файлов, вы получите ссылку «Подробнее» в строке состояния, но при нажатии на нее общий размер файла не отображается. Так что это тоже не работает.
Мехпер С. Палавузлар
Вы правы - я прошу прощения. Читая эту статью ( en.wikipedia.org/wiki/Recycle_Bin_(Windows) ), похоже, что MS изменила вещи в Windows 7.
Isxek,
Я пересмотрел свой ответ на основе дальнейшего поиска. (Я не уверен, что я должен был удалить свои предыдущие ответы здесь, но это должно помочь по крайней мере.)
Isxek
Итак, ваши выводы показывают, что Microsoft проделала совершенно бессмысленную работу по удалению этой функции. Я полностью согласен с пользователем, который написал следующий пост в MS Ответы: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
1

Вы можете использовать что-то вроде Rainmeter, которое может отображать элемент на вашем рабочем столе с размером элементов в корзине, не идеально, но это вариант.

Надеюсь это поможет :)

Фред
источник
1

WinDirStat вычислит размер вашей корзины вместе с графическим представлением всех файлов на вашем HD и того, как используется его пространство. Если вы пытаетесь выяснить, где место на вашем диске, это гораздо лучше, чем пытаться возиться с помощью проводника.

Дэн возится с огнем
источник
0

У меня Windows 7, и у меня тоже была проблема с тем, что я не смог определить, сколько места освободится после того, как я опустошу корзину. Прочитав вышеупомянутые предложения, я обнаружил, что Windows 7 отображает общий размер, если вы выбираете все файлы в корзине ТОЛЬКО ЕСЛИ ВЫ НЕ ВКЛЮЧАЕТЕ ПАПКИ В ВЫБОР. Размер папки можно определить, открыв каждую папку и выбрав файлы, как указано выше.

К вашему сведению (не хочу никого оскорблять): чтобы выбрать все файлы после открытия корзины, нажмите кнопку CTRL и «A». Чтобы отменить выбор папок после выбора всех, удерживайте нажатой кнопку CTRL и щелкните папку (и). После отмены выбора каких-либо папок размер отображается внизу.

К сожалению, если у вас много папок в корзине, вы должны нажать на них по отдельности, а затем вручную добавить размеры, чтобы получить общий размер корзины. Поэтому в этом случае может быть проще выполнить щелчок правой кнопкой мыши / Свойства в папке $ Recycle.Bin на диске C, как предлагалось ранее.

user239871
источник
0

В Windows 7 я использовал Recycle Bin Vista Gadget, и это было здорово. Тем не менее, я не мог установить его больше. Доступно во многих хранилищах программного обеспечения / онлайн-магазинах (которые поставляются с уродливыми установщиками).

Я только что нашел MiniBin от e-sushi, который ставит значок на панели задач. Очень аккуратный! Используя это сейчас для Windows 8.

tobias.h
источник
0

Windows 7: как отобразить общий размер корзины

В Windows XP общий размер корзины можно было легко увидеть, но я не вижу его в Windows 7. Почему Microsoft скрыла / удалила эту функцию? Я что-то пропустил?

Нет, вы ничего не пропустили. По какой-то неизвестной причине Microsoft решила принять ужасное решение в отношении пользовательского интерфейса или пользовательского интерфейса и затруднить / затруднить / сделать невозможным просмотр размера переработанных файлов и папок в Vista и выше.

ЗАМЕЧАНИЕ 1: Мне не нужно видеть максимальный размер, который может содержать Recyle Bin.

Конечно, нет, вам нужно знать размер фактических файлов и папок. Например, если вы удалите кучу вещей, вы захотите увидеть, сколько места вы освободите. Кроме того, вам может понадобиться узнать, сколько было забрано определенными наборами переработанных файлов и папок.

ЗАМЕЧАНИЕ 2: Как только вы выбрали несколько файлов в Корзине, вы получите ссылку «Подробнее» в строке состояния

Отказ Windows показывать информацию о более чем 15 файлах - еще один непонятный выбор дизайна. Хуже,

но нажатие на это не отображает общий размер файла. Microsoft видимо изменила это.

В дополнение ко всем другим проблемам с Проводником и Корзиной, он просто сломан. В проводнике есть ошибка, из-за которой в корзине не отображается размер выбранных элементов в корзине, если выбран хотя бы один ярлык или папка . Не имеет значения , сколько элементов вы выбрали, если даже один из них ярлык или папку, Проводник не показывает размер на всех , даже если она четко знает размер этих элементов согласно размеру колонка рядом их.

В любом случае, то, что вы хотите, это решение. Оказывается, самое простое решение - использовать бесплатный Shell-Enhancer Classic Shell , который предназначен для исправления Windows, восстанавливая оболочку в том виде, в каком она была в XP, которой все были довольны по большей части. В дополнение ко всем другим улучшениям, одна из вещей, которые он восстанавливает, это возможность видеть размеры в Корзине. Он показывает размер всех выбранных элементов независимо от того, что выбрано или сколько элементов выбрано (рисунок 1).


Рисунок 1 : Снимок экрана с корзиной Windows 7 с установленной классической оболочкой, показывающий размер 21 выбранного элемента корзины, включая ярлыки и папки.

Снимок экрана корзины Windows 7 с установленной классической оболочкой с указанием размера

Synetech
источник
0
  1. Перейдите в корзину
  2. Ctrl+A
  3. Ctrl+C
  4. Вставьте все в другую папку

Если паста достаточно велика, Microsoft предоставит вам полосу загрузки с эффектом «Перемещение X гигабайт памяти»

NcAdams
источник