Як я можу знайти розмір папки за допомогою Powershell?


23

Я хочу мати можливість бачити, наскільки велика папка (весь вміст, включаючи підпапки та їх вміст). Я не можу знайти команду powerhell для цього, але мені не хочеться відкривати провідник Windows кожного разу, коли я хочу знати розмір. Чи є простий спосіб досягти цього з Powershell?

Відповіді:


29

Досить впевнений, що я отримав це з підказки Powershell дня; Не можу точно пам’ятати, але я користувався ним давно, і це було дуже корисно.

"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"

Редагування: Щоб полегшити використання (щоб вам не потрібно було запам'ятовувати та вводити все це кожен раз), ви можете додавати його у свій профіль як функцію, наприклад:

function Get-Size
{
 param([string]$pth)
 "{0:n2}" -f ((gci -path $pth -recurse | measure-object -property length -sum).sum /1mb) + " mb"
}

А потім використовуйте його як будь-яку команду:

Get-size C:\users\administrator

1
Мені цікаво, як додати це до профілю PowerShell? Ви маєте на увазі пошук точок ? (бічна примітка: код можна відформатувати, додавши 4 пусті пробіли на початку)
nixda

2
Ти можеш . джерело вашого профілю, якщо ви внесли зміни і не хочете перезавантажувати свій PS-сеанс, але він завантажується автоматично щоразу, коли ви запускаєте Powershell, тому ви, як правило, цього не робите. Щоб створити свій профіль вперше, виконайте наступне: ni $ profile -тип f -fo Тоді ви можете відкрити та відредагувати свій профіль. Щоб знайти, де він знаходиться, просто введіть $ profile в оболонку, і шлях буде показаний. Тоді будь-яка функція, яку ви додаєте, наприклад, вище, доступна як вбудована. Дякую також за підказку щодо форматування коду
Darian Everett

1
+1 Whoa не знав цього фокусу. Захоплююче :)
nixda

1
що робить {0:N2}?
soandos

1
Форматування. Нуль - це власник місць, N2 означає, що це число з двома знаками після коми.
Даріан Еверетт

9

Тут на сайті Microsoft Technet тут

вхід:

Get-ChildItem C:\Scripts -recurse | Measure-Object -property length -sum

вихід:

Count    : 58
Average  :
Sum      : 1244611
Maximum  :
Minimum  :
Property : length

1
Однак це часто може бути досить далеко, оскільки потрібно рекурсивно перевіряти, чи є в папці додаткові папки. Крім того, що це за вимірювання, біти?
Austin T French

Виправте це біти - також забув включити перемикач повторень, який я не редагував, - також зауважте, я в основному публікував, щоб надати статтю technet про виконання цих пошуків, знайдених через google (розмір папки powershell), щоб ОП міг отримати повне розуміння команди використовували не просто відповідь
50-3

Дякую за оновлення, його краще підійде зараз, я думаю, що для формату питань і відповідей.
Austin T French
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.