کدام پوشه ها جای بیشتری در درایو دیسک شما می گیرند؟ دانستن این موضوع مهم است زیرا روی عملکرد دستگاه تاثیر می گذارد. در این مطلب با نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱ همراه باشید.
اگر می خواهید بررسی کنید کدام پوشهها فضای ذخیرهسازی شما را اشغال می کنند، می توانید اندازه پوشه را بررسی کنید تا بفهمید چه چیزی درایو شما را اشغال کرده است. اگر نیاز به انتقال یک پوشه بزرگ به درایو USB یا فضای ذخیرهسازی ابری دارید، بررسی اندازه پوشه نیز مفید است. یک راه آسان برای انجام این کار در ویندوز استفاده از File Explorer و باز کردن گفتگوی Properties پوشه است.
با این حال، File Explorer برای تعیین اندازه یک پوشه بزرگ کند است. اگر می خواهید فایل ها و پوشه ها را در چندین کامپیوتر در یک سازمان مدیریت کنید، ایده آل نیست. برای رفع این مشکل، می توانید از PowerShell برای محاسبه سریع اندازه پوشه ها در ویندوز استفاده کنید.
نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱
بیایید نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱ را یاد بگیریم. برای محاسبه اندازه یک پوشه، باید از دو cmdlet PowerShell، Get-ChildItem و Measure-Object و به دنبال آن ویژگی Length و پارامتر Sum استفاده کنید.
cmdlet Get-ChildItem به شما امکان می دهد اطلاعات را از یک دایرکتوری مشخص و زیر شاخه های آن بازیابی کنید. cmdlet Measure-Object و ویژگیها و پارامترهای مرتبط، مجموع ویژگی length را برای آیتمهای برگردانده شده توسط cmdlet Get-ChildItem (مستعار ‘cgi’) محاسبه میکنند.
نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱ را در مراحل زیر می بینید:
۱- کلید Win را بزنید و powershell را تایپ کنید.
۲- بعد روی Windows PowerShell راست کلیک کنید و Run as administrator را انتخاب کنید. اگر فرمان User Account Control را دیدید، روی Yes کلیک کنید.
۳- در پنجره PowerShell، فرمان زیر را تایپ کنید:
Get-ChildItem FolderPath | Measure-Object -Property Length -sum
۴- در دستور بالا، مسیر دایرکتوری که پوشه شما در آن ذخیره شده است، جایگزین FolderPath کنید. به عنوان مثال، اگر می خواهید اندازه پوشه Download واقع در درایو E: را محاسبه کنید، دستور کامل به شکل زیر خواهد بود:
Get-ChildItem E:\Download | Measure-Object -Property Length -sum
۵- بازگشت تعداد آیتم ها در پوشه و اندازه آن را بر حسب بایت نشان می دهد. برای بدست آوردن اندازه در کیلوبایت (کیلوبایت) باید مجموع کل را بر ۱۰۲۴ تقسیم کنید. دوباره آن را بر ۱۰۲۴ تقسیم کنید تا اندازه آن بر حسب مگابایت (مگابایت) و غیره به دست آید.
همچنین، می توانید از ویژگی sum برای بازیابی اندازه کل استفاده کنید و آن را بر ۱ میلیون یا میلیارد تقسیم کنید تا آن را به مگابایت یا گیگابایت تبدیل کنید.
به عنوان مثال، اگر می خواهید مقدار گیگابایت (MBs) را بدانید، دستور زیر را تایپ کنید و Enter را فشار دهید:
(gci E:\Download | measure Length -s).sum / 1Mb
به طور مشابه، ۱ مگابایت را با ۱ گیگابایت جایگزین کنید تا اندازه پوشه به گیگابایت بازیابی شود.
(gci E:\Download | measure Length -s).sum / 1Gb
اگر میخواهید اندازه انواع خاصی از فایل ها را در یک دایرکتوری شناسایی کنید، میتوانید از کاراکتر * و سپس نوع پسوند فایل استفاده کنید. فقط اندازه فایل را برای نوع فایل مشخص شده نشان می دهد.
به عنوان مثال، برای پیدا کردن فضای اشغال شده توسط تصاویر در یک پوشه، از دستور زیر استفاده کنید:
(gci E:\download *.jpg | measure Length -s).sum / 1Mb
افزودن یک کاراکتر عام به شما امکان می دهد تعیین کنید که آیا یک نوع فایل خاص بیشترین فضا را در پوشه اشغال می کند یا خیر. سپس می توانید محتویات را بر اساس پسوند فایل فیلتر کنید و در صورت لزوم حذف یا انتقال دهید.
نحوه مشاهده اندازه سایز Subfolder با PowerShell
نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱ را آموختید اما دستور بالا فقط اندازه دایرکتوری یا پوشه اصلی شما را محاسبه می کند. برای محاسبه حجم کل فایل ها در دایرکتوری مشخص شده و زیر شاخه های آن، باید پارامتر -Recurse را به دستور بالا اضافه کنید. علاوه بر این، از پارامتر -force برای دسترسی به فایل های مخفی و سیستمی استفاده می کنیم.
به عنوان مثال، برای به دست آوردن اندازه کل دایرکتوری C:Users و زیر شاخه های آن، از جمله فایل های مخفی، دستور PowerShell چیزی شبیه به این خواهد بود:
((gci -force c:\Users -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)
خروجی در این نمونه تقریباً ۵۴ گیگابایت را نشان می دهد. اندازه کل پوشه c:users. در دستور بالا، پارامتر -ErrorAction SilentlyContinue برای سرکوب هر پیام خطایی که ممکن است در طول فرآیند رخ دهد استفاده می شود.
چگونه با استفاده از PowerShell اندازه زیر پوشه را به شکل جدول ببینیم
اگر می خواهید اندازه همه زیرپوشه ها را به صورت جداگانه بدانید، می توانید یک اسکریپت PowerShell را اجرا کنید تا یک نمای گرافیکی از همه زیرپوشه ها و اندازه آنها داشته باشید. یک اسکریپت معمولا مفید است اگر یک فهرست بزرگ با چندین زیرپوشه دارید و نیاز دارید که مرتب روی آنها کار کنید.
برای اجرای این اسکریپت، از PowerShell ISE استفاده کنید:
۱- کلید Win را بزنید و 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"
۳- سپس روی Run Script کلیک کنید یا F5 را فشار دهید و صبر کنید تا اسکریپت اجرا شود. بسته به اندازه پوشه، گفتگوی ‘Size Of Subdirectories’ را مشاهده خواهید کرد که همه زیر شاخه ها را با اندازه آنها فهرست می کند.
علاوه بر این، می توانید از عملگرهای مقایسه PowerShell برای فیلتر کردن نتایج استفاده کنید. به عنوان مثال، برای دریافت اندازه فایل برای پوشه های ایجاد شده بین ژوئن ۲۰۲۳ و ژوئیه ۲۰۲۳، می توانید از دستور زیر استفاده کنید:
(gci -force E:\Download –Recurse -ErrorAction SilentlyContinue | ? {$_.CreationTime -gt '01/23/23' -AND $_.CreationTime -lt '02/23/23'}| measure Length -s).sum / 1Gb
در دستور بالا، ‘?’ یک نام مستعار برای Where-Object cmdlet، -gt، -AND، -It عملگرهای مقایسه است و CreationTime یک شرط است. این فرمان بررسی میکند که آیا CreationTime فایلها در زیرشاخه در محدوده تاریخ مشخص شده قرار میگیرد یا خیر و تنها در صورتی خروجی را نشان میدهد که شرط برآورده شود. اگر خطایی دریافت کردید، مطمئن شوید که قالب تاریخ و زمان شما در دستور با فرمت سیستم مطابقت دارد و دوباره امتحان کنید.
اندازه فولدر و Subfolder را با Powershell ببینید
نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱ را دیدید. File Explorer در ویندوز می تواند به شما کمک کند اندازه هر پوشه و فایلی را محاسبه کنید. با این حال، اگر با چندین پوشه بزرگ یا در سازمانی با صدها رایانه برای مدیریت کار می کنید، استفاده از PowerShell می تواند به شما کمک کند کارها را سریعتر انجام دهید.
با این حال، اگر راه حلی مبتنی بر رابط کاربری گرافیکی را ترجیح می دهید، از ابزار تحلیلگر دیسک استفاده کنید. این ابزارها می توانند به شما کمک کنند تا ساختار فایل سیستم را تجسم کنید و گزارشی از جزئیات محتویاتی که بیشترین فضا را در سیستم شما اشغال می کند را نشان دهید.
نحوه محاسبه اندازه پوشه با PowerShell در ویندوز ۱۱ به این ترتیب است. آموزش های بیشتر PowerShell را در نحوه بررسی ورژن PowerShell در ویندوز ۱۱ ببینید.