Како сазнати величину мапа на диску помоћу ПоверСхелл-а

Већина корисника Виндовс навикла је да је најлакши начин да се добије величина неке мапе отварање њених својстава у програму Виндовс Екплорер. Искуснији они радије користе услужне програме као што су ТрееСизе или ВинДирСтат. Али, ако требате да добијете детаљније статистике о величини мапа у одређеном директоријуму или искључите одређене врсте датотека, у овом случају је боље да користите функције ПоверСхелл. У овом ћемо чланку показати како брзо добити величину одређеног директорија на диску (или свим поддиректоријумима) користећи ПоверСхелл.

Савет. Такође можете да употребите услужни програм конзоле ду.еке да бисте добили величину одређене мапе на диску..

Помоћу команди можете добити величине датотека и директорија у ПоверСхелл-у. Гет-Цхилдитем (алиас гци) и Мера-објект (алиас мјера).

Први цмдлет омогућава креирање листе датотека у наведеном директоријуму према одређеним критеријумима, а други врши аритметику.

Савет. У једном од наших претходних чланака показали смо како користити цмдлет Гет-ЦхилдИтем за проналажење ТОП највећих датотека на диску..

На пример, да бисте добили величину мапе ц: \ пс, покрените наредбу:

Гет-ЦхилдИтем ц: \ исо | Мера-објект-дужина својства -сум

Као што видите, укупна величина датотека у овом директоријуму је назначена у пољу Сум и износи око 2 ГБ (величина је у бајтовима).

Да бисте конвертовали величину у погоднији МБ или ГБ, користите следећу наредбу:

(гци ц: \ исо | мере дужина -с) .сум / 1Гб

Или:

(гци ц: \ исо | мере дужина -с) .сум / 1Мб

Да бисте резултат заокружили на два децимална места, покрените наредбу:

"0: Н2 ГБ" -ф ((гци ц: \ исо | мере дужина -с) .сум / 1Гб)

Да бисте израчунали укупну величину свих датотека одређеног типа у директоријуму, користите следећу наредбу (на пример, желимо да добијемо укупну величину ИСО датотека у мапи):

(гци ц: \ исо * .исо | мере дужина -с) .сум / 1Мб

Горе наведене команде омогућују вам да у специфицираном директоријуму добијете само укупну величину датотеке. Ако мапа садржи поддиректоријуме, величина датотека у тим директоријима неће бити узета у обзир. Да бисте добили укупну величину свих датотека у директорију, узимајући у обзир поддиректоријуме, морате да користите параметар -Рецурсе. Добијте укупну величину свих датотека у мапи ц: \ Виндовс.

"0: Н2 ГБ" -ф ((гци -форце ц: \ Виндовс -Рецурсе -ЕррорАцтион СилентлиЦонтинуе | мери дужина -с) .сум / 1Гб)

Да бих узео у обзир величину скривених и системских датотека, додатно сам одредио аргумент -сила.

Дакле, величина директорија Ц: \ Виндовс на нашем диску је око 16 ГБ.

Савет. Да бисте приказали грешке у приступу директорију, користите параметар -ЕррорАцтион СилентлиЦонтинуе.

Можете добити величину свих подмапа првог нивоа у наведеном директорију. На пример, морамо да добијемо величину свих корисничких профила у мапи Ц: \ усерс.

гци -форце 'Ц: \ Усерс'-ЕррорАцтион СилентлиЦонтинуе | ? $ _ -је [ио.дирецториинфо] | %
$ лен = 0
гци -рецурсе -форце $ _. фуллнаме -ЕррорАцтион СилентлиЦонтинуе | % $ лен + = $ _. ленгтх
$ _. пуно име, '0: Н2 ГБ' -ф ($ лен / 1Гб)

% - ово је алиас за петљу објект фореацх.

Само напред. Рецимо да је ваш задатак сазнати величину сваког директорија у корену системског хард диска и представити информације у табеларном облику погодном за анализу са могућношћу сортирања по величини директорија. Да бисте то учинили, користите цмдлет Оут-ГридВиев.

За информације о величини директоријума на Ц: \ погону, покрените следећу скрипту ПоверСхелл:

$ таргетфолдер = 'Ц: \'
$ датаЦолл = @ ()
гци -форце $ таргетфолдер -ЕррорАцтион СилентлиЦонтинуе | ? $ _ -је [ио.дирецториинфо] | %
$ лен = 0
гци -рецурсе -форце $ _. фуллнаме -ЕррорАцтион СилентлиЦонтинуе | % $ лен + = $ _. ленгтх
$ фолдернаме = $ _. пуно име
$ фолдерсизе = '0: Н2' -ф ($ лен / 1Гб)
$ датаОбјецт = ПСОбјецт новог објекта
Адд-Мембер -инпутОбјецт $ датаОбјецт -мемберТипе НотеПроперти -наме "име мапе" -валуе $ име мапе
Адд-Мембер -инпутОбјецт $ датаОбјецт -мемберТипе НотеПроперти -наме „фолдерсизеГб“ -валуе $ фолдерсизе
$ датаЦолл + = $ датаОбјецт

$ датаЦолл | Оут-ГридВиев -Титле „Величина поддиректората“

Као што видите, требало би да видите графички приказ табеле у којој су назначене све мапе у корену системског погона Ц: \ и њихова величина. Кликом на наслов ступа у табели можете сортирати мапе по величини.