Кои папки затрупват вашето дисково устройство? Разберете с това ръководство за Windows.
Ако искате да проучите кои папки заемат вашето място за съхранение, можете да проверите размера на папката, за да определите какво заема вашето устройство. Проверката на размера на папката също е полезна, ако трябва да преместите голяма папка на USB устройство или облачно хранилище. Лесен начин да направите това в Windows е да използвате File Explorer и да отворите диалоговия прозорец Properties на папката.
File Explorer обаче може да бъде бавен при определяне на размера на голяма папка. И не е идеално, ако искате да управлявате файлове и папки на множество компютри в една организация. За да коригирате това, можете да използвате PowerShell за бързо изчисляване на размерите на папките в Windows.
Как да изчислите размера на папка с помощта на PowerShell в Windows
За да изчислите размера на папка, ще трябва да използвате двата PowerShell cmdlets, Get-ChildItem и Measure-Object, последвани от свойството Length и параметъра Sum.
Командлетът Get-ChildItem ви позволява да извличате информация от определена директория и нейните поддиректории. Кратката команда Measure-Object и свързаните свойства и параметри изчисляват сумата от свойството дължина за елементите, върнати от кратка команда Get-ChildItem (псевдоним „cgi“).
Ако сте нов в PowerShell, може да искате да прочетете нашето обяснение основни командлети на PowerShell за да разберете основите на PowerShell.
Сега, след като сте запознати с командите на PowerShell, ето как да ги използвате, за да получите всякакъв размер на папката.
- Натисни Печеля ключ и тип powershell.
- След това щракнете с десния бутон върху Windows PowerShell и изберете Изпълни като администратор. Кликнете да ако бъдете подканени от Управление на потрбителския профил.
- В прозореца на PowerShell въведете следната команда:
Get-ChildItem FolderPath | Measure-Object -Property Length -sum
- В горната команда заменете FolderPath с пътя на директорията, където е запазена вашата папка. Например, ако искате да изчислите размера на папката за изтегляне, намираща се в E:\ диск, тогава пълната команда ще изглежда така:
Get-ChildItem E:\Download | Measure-Object -Property Length -sum
- Връщането ще покаже броя на елементите в папката и техния размер в байтове. Ще трябва да разделите общата сума на 1024 за да получите размера КБ (килобайта). Разделете го на 1024 отново, за да получите размера MBs (мегабайти) и така нататък.
Като алтернатива можете да използвате свойството .sum, за да извлечете общия размер и да го разделите на 1 милион или милиард, за да го конвертирате в мегабайти или гигабайти.
Например, ако искате да знаете стойността в гигабайти (MB), въведете следната команда и натиснете Въведете:
(gci E:\Download | measure Length -s).sum / 1Mb
По същия начин заменете 1Mb с 1Gb за да извлечете размера на папката в гигабайти.
(gci E:\Download | measure Length -s).sum / 1Gb
Ако искате да идентифицирате размера на конкретни типове файлове в директория, можете да използвате заместващия знак * последвано от типа разширение на файла. Той ще покаже само размера на файла за посочения тип файл.
Например, за да разберете колко място заемат изображенията в дадена папка, използвайте следната команда:
(gci E:\download *.jpg | measure Length -s).sum / 1Mb
Добавянето на заместващ знак ви позволява да определите дали определен тип файл заема най-много място в папката. След това можете да филтрирате съдържанието въз основа на файловото разширение и да го изтриете или преместите, ако е необходимо.
Как да получите размера на подпапката с помощта на PowerShell
Горната команда ще изчисли само размера на вашата основна директория или папка. За да изчислите общия размер на файловете в указаната директория и нейните поддиректории, ще трябва да добавите -Рекурсия параметър към горната команда. Освен това ще използваме параметъра -force за достъп до скрити и системни файлове.
Например, за да получите общия размер на вашата директория C:\Users и нейните поддиректории, включително скритите файлове, командата PowerShell ще изглежда по следния начин:
((gci -force c:\Users -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)
Резултатът в този случай показва приблизително 54 GB. като общия размер на папката c:\users. В горната команда параметърът -ErrorAction SilentlyContinue се използва за потискане на всички съобщения за грешка, които могат да възникнат по време на процеса.
Как да получите размера на подпапката във формат на таблица с помощта на PowerShell
Ако искате да знаете размера на всички подпапки поотделно, можете да изпълните скрипт на PowerShell, за да получите графичен изглед на всички подпапки и техните размери. Скриптът обикновено е полезен, ако имате голяма директория с множество подпапки и трябва да работите често върху тях.
За да стартирате този скрипт, можете да използвате PowerShell ISE. Ето как да го направите:
- Натисни Ключ за победа и тип PowerShell ISE. Кликнете върху Windows PowerShell ISE от резултата от търсенето.
- След това копирайте и поставете следната команда в конзолата на PowerShell ISE. Уверете се, че сте променили директорията от c:\ към предпочитаната от вас директория.
$targetfolder = 'C:\'
$dataColl = Get-ChildItem -Force $targetfolder -Directory -ErrorAction SilentlyContinue | ForEach-Object {
$len = Get-ChildItem -Recurse -Force $_.FullName -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum | Select-Object -ExpandProperty Sum
$foldername = $_.FullName
$foldersize = '{0:N2} GB' -f ($len / 1Gb)
[PSCustomObject]@{
foldername = $foldername
foldersizeGb = $foldersize
}
}
$dataColl | Out-GridView -Title "Size of Subdirectories in $targetfolder" - След това щракнете Стартирайте скрипт или натиснете F5 и изчакайте скриптът да се изпълни. В зависимост от размера на папката ще видите "Размер на поддиректориите" диалогов прозорец, изброяващ всички поддиректории с техния размер.
В допълнение към това можете да използвате операторите за сравнение на PowerShell, за да филтрирате резултатите. Например, за да получите размер на файла за папки, създадени между юни 2023 г. и юли 2023 г., можете да използвате следната команда:
(gci -force E:\Download – Recurse -ErrorAction SilentlyContinue |? {$_.CreationTime -gt '01/23/23' -AND $_.CreationTime -lt '02/23/23'}| measure Length -s).sum / 1Gb
В горната команда, "?" е псевдоним на Къде-обект cmdlet, -gt, -И, -То са оператори за сравнение и Време на създаване е условие. Командата проверява дали CreationTime на файловете в поддиректорията попада в указания диапазон от дати и показва резултат само ако условието е изпълнено. Ако получите грешка, уверете се, че форматът на датата и часа в командата съответства на формата на системата и опитайте отново.
Получете размера на папката и подпапката с помощта на PowerShell
File Explorer в Windows може да ви помогне да изчислите размера на всяка папка и файл. Въпреки това, ако работите с множество големи папки или в организация със стотици компютри за управление, използването на PowerShell може да ви помогне да свършите нещата по-бързо.
Въпреки това, ако предпочитате по-базирано на GUI решение, обмислете използването на инструмент за дисков анализатор. Тези инструменти могат да ви помогнат да визуализирате файловата структура на системата и да покажете отчет, описващ подробно съдържанието, което заема най-много място във вашата система.