Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

अधिकांश विंडोज उपयोगकर्ता जानते हैं कि किसी फ़ोल्डर के आकार की जांच करने का सबसे आसान तरीका फ़ाइल एक्सप्लोरर में फ़ोल्डर गुणों को खोलना है। अधिक अनुभवी उपयोगकर्ता ट्रीसाइज़ . जैसे तृतीय-पक्ष टूल का उपयोग करना पसंद करते हैं या WinDirStat . हालाँकि, यदि आप विशिष्ट निर्देशिका में फ़ोल्डरों के आकार पर अधिक विस्तृत आँकड़े प्राप्त करना चाहते हैं या कुछ फ़ाइल प्रकारों को बाहर करना चाहते हैं, तो आप बेहतर तरीके से PowerShell सुविधाओं का उपयोग करेंगे। इस लेख में, हम आपको दिखाएंगे कि पावरशेल का उपयोग करके डिस्क (और सभी सबफ़ोल्डर्स) पर विशिष्ट फ़ोल्डर का आकार जल्दी से कैसे प्राप्त करें।

आप गेट-चाइल्डआइटम . का उपयोग कर सकते हैं (gci उपनाम) और माप-वस्तु (measure उपनाम) cmdlets PowerShell में फ़ाइलों और फ़ोल्डरों (सबफ़ोल्डर सहित) के आकार प्राप्त करने के लिए। पहला cmdlet आपको निर्दिष्ट मानदंड के अनुसार निर्दिष्ट निर्देशिका में फ़ाइलों की सूची (आकार के साथ) प्राप्त करने की अनुमति देता है, और दूसरा अंकगणितीय संचालन करता है।

युक्ति। पिछले लेखों में से एक में, हमने दिखाया कि डिस्क पर सबसे बड़ी फ़ाइलों को खोजने के लिए PowerShell में Get-ChildItem cmdlet का उपयोग कैसे करें।

उदाहरण के लिए, C:\ISO फ़ोल्डर का आकार प्राप्त करने के लिए, निम्न कमांड चलाएँ:

Get-ChildItem C:\ISO | Measure-Object -Property Length -sum

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

जैसा कि आप देख सकते हैं, इस निर्देशिका में फ़ाइलों का कुल आकार योग . में दिखाया गया है फ़ील्ड और लगभग 2.1 जीबी है (आकार बाइट्स में दिया गया है)।

आकार को अधिक सुविधाजनक MB या GB में बदलने के लिए, इस कमांड का उपयोग करें:

(gci c:\iso | measure Length -s).sum / 1Gb

या:

(gci c:\iso | measure Length -s).sum / 1Mb

परिणाम को दो दशमलव तक पूर्णांकित करने के लिए, निम्न कमांड चलाएँ:

"{0:N2} GB" -f ((gci c:\iso | measure Length -s).sum / 1Gb)

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

आप किसी निर्देशिका में एक निश्चित प्रकार की सभी फ़ाइलों के कुल आकार की गणना करने के लिए PowerShell का उपयोग कर सकते हैं। उदाहरण के लिए, आप एक फ़ोल्डर में सभी आईएसओ फाइलों का कुल आकार प्राप्त करना चाहते हैं:

(gci c:\iso *.iso | measure Length -s).sum / 1Mb

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

ऊपर दिखाए गए आदेश आपको निर्दिष्ट निर्देशिका में केवल फाइलों का कुल आकार प्राप्त करने की अनुमति देते हैं। यदि निर्देशिका में सबफ़ोल्डर हैं, तो सबफ़ोल्डर में फ़ाइलों के आकार की गणना नहीं की जाएगी। उपनिर्देशिकाओं सहित निर्देशिका में फ़ाइलों का कुल आकार प्राप्त करने के लिए, –Recurse . का उपयोग करें पैरामीटर। आइए C:\Windows . में फ़ाइलों का कुल आकार प्राप्त करें फोल्डर :

"{0:N2} GB" -f ((gci –force c:\Windows –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)

छिपी हुई और सिस्टम फ़ाइलों के आकार को ध्यान में रखते हुए, मैंने –बल . का उपयोग किया है तर्क भी।

तो मेरे स्थानीय ड्राइव पर C:\Windows का आकार लगभग 40 GB है (स्क्रिप्ट NTFS संपीड़न को अनदेखा करता है)।

युक्ति . निर्देशिका पहुंच त्रुटियों को रोकने के लिए (PermissionDenied -> DirUnauthorizedAccessError), -ErrorAction SilentlyContinue का उपयोग करें पैरामीटर।

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

यह स्क्रिप्ट किसी निर्देशिका के आकार की गलत गणना करती है यदि इसमें प्रतीकात्मक या हार्ड लिंक हैं। उदाहरण के लिए, C:\Windows फ़ोल्डर में WinSxS फ़ोल्डर (Windows कंपोनेंट स्टोर) में फ़ाइलों के लिए कई हार्ड लिंक होते हैं। नतीजतन, ऐसी फाइलों को कई बार गिना जा सकता है। परिणामों में हार्ड लिंक को अनदेखा करने के लिए, निम्न आदेश का उपयोग करें (पूरा होने में लंबा समय लगता है):

"{0:N2} GB" -f ((gci –force C:\windows –Recurse -ErrorAction SilentlyContinue | Where-Object { $_.LinkType -notmatch "HardLink" }| measure Length -s).sum / 1Gb)

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

जैसा कि आप देख सकते हैं, विंडोज़ फ़ोल्डर का वास्तविक आकार थोड़ा छोटा है।

अंतिम आकार की गणना करते समय विचार करने के लिए फ़ाइलों का चयन करने के लिए आप फ़िल्टर का उपयोग कर सकते हैं। उदाहरण के लिए, आप 2020 में बनाई गई फ़ाइलों का आकार प्राप्त कर सकते हैं:

(gci -force c:\ps –Recurse -ErrorAction SilentlyContinue | ? {$_.CreationTime -gt ‘1/1/20’ -AND $_.CreationTime -lt ‘12/31/20’}| measure Length -s).sum / 1Gb

आप निर्दिष्ट निर्देशिका में सभी प्रथम-स्तरीय सबफ़ोल्डर का आकार प्राप्त कर सकते हैं। उदाहरण के लिए, आप C:\Users फ़ोल्डर में सभी उपयोगकर्ता प्रोफाइल का आकार प्राप्त करना चाहते हैं।

gci -force 'C:\Users'-ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$_.fullname, '{0:N2} GB' -f ($len / 1Gb)
}

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

% foreach-object . के लिए एक उपनाम है लूप।

चलो आगे बढ़ें। मान लीजिए, आपका कार्य सिस्टम हार्ड ड्राइव की जड़ में प्रत्येक निर्देशिका का आकार ढूंढना है और जानकारी को सुविधाजनक तालिका रूप में विश्लेषण के लिए प्रस्तुत करना है और फ़ोल्डर आकार के अनुसार क्रमबद्ध करने में सक्षम है।

सिस्टम C:\ ड्राइव पर निर्देशिकाओं के आकार के बारे में जानकारी प्राप्त करने के लिए, निम्न PowerShell स्क्रिप्ट चलाएँ:

$targetfolder='C:\'
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$foldername = $_.fullname
$foldersize= '{0:N2}' -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
}
$dataColl | Out-GridView -Title “Size of subdirectories”

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

जैसा कि आप देख सकते हैं, तालिका का ग्राफिक दृश्य दिखाई देना चाहिए जहां सिस्टम ड्राइव C:\ के रूट में सभी फ़ोल्डर्स और उनका आकार दिखाया गया है (तालिका Out-GridView द्वारा उत्पन्न होती है) सीएमडीलेट)। कॉलम हेडर पर क्लिक करके, आप फ़ोल्डर्स को आकार के अनुसार क्रमबद्ध कर सकते हैं। आप परिणामों को CSV में भी निर्यात कर सकते हैं (| Export-Csv folder_size.csv ) या किसी एक्सेल फ़ाइल में।

यदि आप अपनी पॉवरशेल स्क्रिप्ट में निर्देशिका आकार जाँच का उपयोग कर रहे हैं, तो आप एक अलग फ़ंक्शन बना सकते हैं:

function Get-FolderSize {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
$Path
)
if ( (Test-Path $Path) -and (Get-Item $Path).PSIsContainer ) {
$Measure = Get-ChildItem $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
$Sum = '{0:N2}' -f ($Measure.Sum / 1Gb)
[PSCustomObject]@{
"Path" = $Path
"Size($Gb)" = $Sum
}
}
}

फ़ंक्शन का उपयोग करने के लिए, बस एक तर्क के रूप में फ़ोल्डर पथ के साथ कमांड चलाएँ:

Get-FolderSize ('C:\PS')

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

आप Invoke-Command के माध्यम से दूरस्थ कंप्यूटर पर फ़ोल्डर आकार की जांच करने के लिए अपने स्थानीय पावरशेल फ़ंक्शन का उपयोग कर सकते हैं (पावरशेल रिमोटिंग) cmdlet.

Invoke-Command -ComputerName hq-srv01 -ScriptBlock ${Function:Get-FolderSize} –ArgumentList 'C:\PS'

पावरशेल:विंडोज़ में डिस्क पर फ़ोल्डर आकार प्राप्त करें

ये आदेश PowerShell Core 7.x के नए संस्करणों सहित सभी PowerShell संस्करणों में काम करते हैं।


  1. Windows 10 में Windows.old Folder से कैसे छुटकारा पाएं

    यदि आपने अपने कंप्यूटर पर विंडोज ऑपरेटिंग सिस्टम का संस्करण अपडेट किया है, तो आपको अपनी मशीन पर विंडोज.ओल्ड नामक एक फ़ोल्डर मिलेगा। यह फोल्डर और कुछ नहीं बल्कि आपकी सभी पिछली विंडोज इंस्टॉलेशन फाइलों का एक संग्रह है। यदि आप पिछले विंडोज़ पर वापस जाना चाहते हैं तो विंडोज़ इसे आपके लिए रखता है। हालाँक

  1. विंडोज 10 में फोल्डर साइज दिखाने/देखने के 3 तरीके

    इस आलेख में 3 तरीकों पर चर्चा की गई है जो शो फ़ोल्डर आकार विंडोज 10 पर ध्यान केंद्रित करते हैं। इन तीन तरीकों में से प्रत्येक का मुख्य उद्देश्य विंडोज 10 में फ़ोल्डर का आकार कैसे दिखाना है, इस मुद्दे को हल करना है। भाग 1. विंडोज एक्सप्लोरर में फोल्डर का आकार कैसे दिखाएं? भाग 2. गुणों से विंडोज 10

  1. Windows 11 में किसी फ़ोल्डर के संग्रहण उपयोग की जांच कैसे करें

    किसी फ़ोल्डर के संग्रहण उपयोग को देखकर आप पता लगा सकते हैं कि आपके पीसी पर कौन से फ़ोल्डर सबसे अधिक ड्राइव स्थान का उपयोग करते हैं। एप्लिकेशन हटाकर और अपने सबसे बड़े फ़ोल्डर से फ़ाइलों को हटाना (या यहां तक ​​कि कंप्रेस करना), आप यह निर्धारित करने के बाद उन्हें सिकोड़ सकते हैं कि कौन सी सबसे अधिक जगह