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

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

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

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

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

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

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

आकार को अधिक सुविधाजनक 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: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

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

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

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

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

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

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

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

यदि डायरेक्टरी में सिम्बोलिक या हार्ड लिंक्स हैं तो यह स्क्रिप्ट डायरेक्टरी के आकार की गलत गणना करती है। उदाहरण के लिए, 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)

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

आप अंतिम आकार की गणना करते समय विचार की जाने वाली फाइलों को चुनने के लिए फिल्टर्स का उपयोग कर सकते हैं। उदाहरण के लिए, आप 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)
}

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

% 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”

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

यदि आप अपने PowerShell स्क्रिप्ट्स में डायरेक्टरी आकार जांच का उपयोग कर रहे हैं, तो आप एक अलग फंक्शन बना सकते हैं:
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')

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

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

PowerShell: Windows में डिस्क पर फोल्डर साइज़ प्राप्त करें

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

  1. विंडोज़ 10 में Windows.old फोल्डर को सुरक्षित रूप से मिटाएं विंडोज़ 10 में Windows.old फोल्डर को सुरक्षित रूप से मिटाएं

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

  1. Windows 10 में फ़ोल्डर आकार आसानी से देखें: 3 सरल तरीके Windows 10 में फ़ोल्डर आकार आसानी से देखें: 3 सरल तरीके

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

  1. विंडोज 11 में फ़ोल्डर स्टोरेज उपयोग जांचने की चरण-दर-चरण मार्गदर्शिका विंडोज 11 में फ़ोल्डर स्टोरेज उपयोग जांचने की चरण-दर-चरण मार्गदर्शिका

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