دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
ویندوز
  • Folder icon closed Folder open iconویندوز سرور چیست و چه کاربردی دارد؟
  • Folder icon closed Folder open iconتفاوت Windows Server با Windows معمولی
  • Folder icon closed Folder open iconآشنایی با Server Manager در Windows Server
  • Folder icon closed Folder open iconFeature در Windows Server چیست؟ آشنایی با قابلیت‌ های تکمیلی ویندوز سرور
  • Folder icon closed Folder open iconآشنایی با Windows Admin Center؛ مدیریت ویندوز سرور از طریق مرورگر
  • Folder icon closed Folder open iconآشنایی با PowerShell در Windows Server؛ معرفی دستورات و کاربردها
  • Folder icon closed Folder open iconآموزش تنظیم و تغییر رمز عبور Administrator در Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم Hostname در Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم DNS در کارت شبکه Windows Server
  • Folder icon closed Folder open iconتنظیم Gateway در Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم تاریخ و ساعت در Windows Server
  • Folder icon closed Folder open iconآموزش فعال‌سازی Remote Desktop در Windows Server
  • Folder icon closed Folder open iconآموزش تغییر پورت RDP در Windows Server
  • Folder icon closed Folder open iconبررسی وضعیت Device Manager در Windows Server
  • Folder icon closed Folder open iconآموزش نصب آپدیت‌های Windows Server
  • Folder icon closed Folder open iconآموزش تنظیم Windows Update در Windows Server
  • Folder icon closed Folder open iconغیرفعال کردن Automatic Update در شرایط خاص
  • Folder icon closed Folder open iconساخت Restore Point در Windows Server
  • Folder icon closed Folder open iconایجاد کاربر جدید در Windows Server
  • Folder icon closed Folder open iconافزودن کاربر به گروه Administrators
  • Folder icon closed Folder open iconچک‌لیست تنظیمات اولیه Windows Server
  • Folder icon closed Folder open iconآموزش تست استرس سرور ویندوز
  • Folder icon closed Folder open iconآموزش نصب iis
  • Folder icon closed Folder open iconآموزش نصب dns
  • Folder icon closed Folder open iconآموزش عیب‌یابی پر شدن ناگهانی فضای دیسک در ویندوز سرور
  • Folder icon closed Folder open iconپیدا کردن پردازش‌های مصرف‌کننده CPU
  • Folder icon closed Folder open iconتست SMTP در ویندوز به سمت مقصد
  • Folder icon closed Folder open iconآموزش ساخت رکورد های dns در ویندوز
  • Folder icon closed Folder open iconآموزش ساخت Website جدید در IIS
  • Folder icon closed Folder open iconآموزش بررسی IIS Logs برای عیب‌یابی سایت
  • Folder icon closed Folder open iconعیب‌یابی خطای 503 Service Unavailable در IIS
  • Folder icon closed Folder open iconعیب‌یابی خطای 403 Forbidden در IIS
  • Folder icon closed Folder open iconعیب‌یابی خطای 404 Not Found در IIS
  • Folder icon closed Folder open iconآموزش نصب و فعال‌سازی URL Rewrite در IIS
  • Folder icon closed Folder open iconآموزش راه‌اندازی Reverse Proxy در IIS با ARR
  • Folder icon closed Folder open iconآموزش تنظیم Binding در IIS
  • Folder icon closed Folder open iconآموزش تنظیم چند Domain روی یک IIS Server
  • Folder icon closed Folder open iconآموزش Redirect کردن HTTP به HTTPS در IIS
  • Folder icon closed Folder open iconآموزش تنظیم Application Pool در IIS
  • Folder icon closed Folder open iconعیب‌یابی خطای HTTP Error 500 در IIS
  • Folder icon closed Folder open iconآموزش بررسی System Log در Windows Server
  • Folder icon closed Folder open iconآموزش بررسی Application Log در Windows Server
  • Folder icon closed Folder open iconآموزش بررسی Security Log در Windows Server
  • Folder icon closed Folder open iconآموزش پیدا کردن Loginهای ناموفق در Windows Server
  • Folder icon closed Folder open iconآموزش پیدا کردن Process مرتبط با یک پورت با PowerShell
  • Folder icon closed Folder open iconآموزش بررسی Connectionهای فعال و Remote IPها با PowerShell
  • Folder icon closed Folder open iconآموزش دانلود فایل از اینترنت با PowerShell
  • Folder icon closed Folder open iconچرا در Windows Server فضای دیسک آزاد نمی‌شود؟ آموزش کامل عیب‌یابی فضای Disk
  • Folder icon closed Folder open iconآموزش نصب SQL Server 2025 در Windows Server
  • Folder icon closed Folder open iconآموزش مدیریت Windows Firewall با PowerShell
  • Folder icon closed Folder open iconآموزش مدیریت Application Poolهای IIS با PowerShell
  • Folder icon closed Folder open iconآموزش پیدا کردن فایل‌های حجیم با PowerShell در ویندوز
ویندوز

آموزش پیدا کردن فایل‌های حجیم با PowerShell در ویندوز

آموزش پیدا کردن فایل‌های حجیم با PowerShell در ویندوز

مقدمه

پر شدن فضای دیسک یکی از مشکلات رایج در کامپیوترها و سرورهای ویندوزی است. زمانی که فضای آزاد یک درایو کاهش پیدا می‌کند، ممکن است سرویس‌ها به‌درستی کار نکنند، فایل‌های جدید ایجاد نشوند یا عملکرد سیستم کاهش پیدا کند.

در سرورهای هاستینگ، فایل‌های لاگ، بکاپ‌ها، فایل‌های موقت، فایل‌های Database Backup و فایل‌های Dump می‌توانند به مرور زمان حجم زیادی پیدا کنند. پیدا کردن این فایل‌ها به صورت دستی، مخصوصاً در سرورهایی که تعداد زیادی فایل و پوشه دارند، کار زمان‌بری است.

PowerShell این امکان را فراهم می‌کند که بدون نصب نرم‌افزار اضافی، فایل‌های موجود در یک مسیر را بررسی کرده و فایل‌ها را بر اساس حجم مرتب کنیم. دستور Get-ChildItem برای دریافت فایل‌ها و پوشه‌ها استفاده می‌شود و گزینه -Recurse امکان بررسی زیرپوشه‌ها را فراهم می‌کند.

در این آموزش، روش پیدا کردن فایل‌های حجیم با PowerShell را به صورت ساده و کاربردی بررسی می‌کنیم.

چک لیست

پیدا کردن ۲۰ فایل بزرگ در درایو C

PowerShell را با دسترسی Administrator باز کنید و دستور زیر را دقیقاً به صورت یک خط وارد کنید:

Get-ChildItem -LiteralPath C:\ -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

این دستور تمام فایل‌های موجود در درایو C و زیرپوشه‌های آن را بررسی می‌کند و ۲۰ فایل بزرگ‌تر را نمایش می‌دهد.

در نتیجه، مسیر فایل و حجم آن به گیگابایت نمایش داده می‌شود.

برای مثال ممکن است نتیجه‌ای مشابه زیر مشاهده کنید:

FullName                                      SizeGB
--------                                      ------
C:\Backup\server-backup.zip                   8.42
C:\Logs\application.log                       4.17
C:\Database\database.bak                      2.85

دستور بالا از چند بخش تشکیل شده است. Get-ChildItem فایل‌ها را پیدا می‌کند، -File باعث می‌شود فقط فایل‌ها بررسی شوند و -Recurse زیرپوشه‌ها را نیز بررسی می‌کند. سپس Sort-Object Length -Descending فایل‌ها را از بزرگ‌ترین به کوچک‌ترین مرتب می‌کند و Select-Object -First 20 فقط ۲۰ مورد اول را نمایش می‌دهد.

پیدا کردن فایل‌های بزرگ‌تر از ۵۰۰ مگابایت

اگر هدف شما پیدا کردن فایل‌هایی است که بیشتر از ۵۰۰ مگابایت حجم دارند، از دستور زیر استفاده کنید:

Get-ChildItem -LiteralPath C:\ -File -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Length -gt 500MB} | Sort-Object Length -Descending | Select-Object FullName,@{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}

در این حالت فقط فایل‌هایی نمایش داده می‌شوند که حجم آن‌ها بیشتر از ۵۰۰ مگابایت باشد.

عدد 500MB را می‌توانید بر اساس نیاز خود تغییر دهید. برای مثال، برای پیدا کردن فایل‌های بزرگ‌تر از یک گیگابایت، مقدار آن را به 1GB تغییر دهید:

Get-ChildItem -LiteralPath C:\ -File -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Length -gt 1GB} | Sort-Object Length -Descending | Select-Object FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

بررسی یک پوشه مشخص

بررسی کل درایو ممکن است روی سرورهایی که تعداد بسیار زیادی فایل دارند زمان‌بر باشد. اگر می‌دانید فایل‌های حجیم احتمالاً در یک پوشه مشخص قرار دارند، بهتر است فقط همان مسیر را بررسی کنید.

برای مثال، برای بررسی پوشه D:\Backups از دستور زیر استفاده کنید:

Get-ChildItem -LiteralPath D:\Backups -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

استفاده از -LiteralPath برای مشخص کردن مسیر دقیق، از تغییر ناخواسته مسیر در هنگام پردازش جلوگیری می‌کند و در مستندات Microsoft نیز برای استفاده همراه با -Recurse توصیه شده است.

پیدا کردن فایل‌های حجیم لاگ

در سرورهای ویندوزی، فایل‌های Log یکی از مواردی هستند که ممکن است به مرور زمان حجم زیادی پیدا کنند.

برای پیدا کردن بزرگ‌ترین فایل‌های با پسوند .log می‌توان از دستور زیر استفاده کرد:

Get-ChildItem -LiteralPath C:\ -Filter *.log -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}

این دستور فقط فایل‌های دارای پسوند .log را بررسی می‌کند و ۲۰ فایل بزرگ‌تر را نمایش می‌دهد.

پیدا کردن فایل‌های Backup حجیم

اگر احتمال می‌دهید فایل‌های بکاپ فضای دیسک را اشغال کرده‌اند، می‌توانید فایل‌های دارای پسوند .bak را بررسی کنید:

Get-ChildItem -LiteralPath C:\ -Filter *.bak -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

برای فایل‌های ZIP نیز می‌توانید از دستور زیر استفاده کنید:

Get-ChildItem -LiteralPath C:\ -Filter *.zip -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

بررسی فایل‌های حجیم بدون زیرپوشه‌ها

اگر فقط می‌خواهید فایل‌های موجود در یک پوشه مشخص بررسی شوند و زیرپوشه‌ها بررسی نشوند، گزینه -Recurse را حذف کنید:

Get-ChildItem -LiteralPath C:\Logs -File | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}

در این حالت فقط فایل‌های مستقیم داخل C:\Logs بررسی می‌شوند.

محدود کردن عمق جستجو

PowerShell امکان محدود کردن تعداد سطوح زیرپوشه‌هایی را که باید بررسی شوند نیز فراهم می‌کند. گزینه -Depth برای همین منظور استفاده می‌شود.

برای مثال، دستور زیر فقط تا دو سطح زیرپوشه را بررسی می‌کند:

Get-ChildItem -LiteralPath C:\ -File -Recurse -Depth 2 -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

این روش می‌تواند زمانی مفید باشد که بررسی کامل یک درایو بزرگ زمان زیادی نیاز داشته باشد.

چرا دستورات PowerShell را یک‌خطی استفاده کنیم؟

دستورات PowerShell می‌توانند در چند خط نوشته شوند، اما Pipelineها در PowerShell قواعد خاصی برای ادامه در خط بعد دارند. همچنین نحوه Paste کردن چند خط در محیط PowerShell می‌تواند باعث شود هر خط جداگانه پردازش شود. Microsoft نیز توضیح داده است که Pipeline معمولاً به صورت یک خط نوشته می‌شود و در حالت تعاملی، نحوه Paste کردن کد چندخطی اهمیت دارد.

به همین دلیل، برای دستوراتی که قرار است مستقیماً در PowerShell کپی و اجرا شوند، بهتر است دستور به صورت یک خط کامل ارائه شود.

برای مثال، دستور زیر یک دستور کامل و یک‌خطی است:

Get-ChildItem -LiteralPath C:\ -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

در نتیجه هنگام اجرای آن، نباید دستور را از وسط به چند خط تقسیم کرد.

اگر PowerShell علامت >> نشان داد

اگر بعد از وارد کردن یک دستور، PowerShell به جای نمایش Prompt معمولی مانند زیر:

PS C:\Users\Administrator>

علامت زیر را نمایش داد:

>>

یعنی PowerShell هنوز منتظر ادامه دستور است.

در این حالت می‌توانید با فشردن کلیدهای زیر اجرای ورودی ناقص را لغو کنید:

Ctrl + C

سپس دوباره دستور کامل را از ابتدا و در یک خط وارد کنید.

نکته مهم هنگام حذف فایل‌های حجیم

پیدا کردن فایل حجیم به معنی حذف آن نیست. یک فایل بزرگ ممکن است مربوط به بکاپ ضروری، دیتابیس، لاگ موردنیاز یک سرویس یا فایل سیستمی باشد.

بنابراین ابتدا مسیر و نام فایل را بررسی کنید و مشخص کنید فایل متعلق به کدام سرویس یا نرم‌افزار است. سپس درباره حذف، انتقال یا نگهداری آن تصمیم بگیرید.

در سرورهای هاستینگ، حذف مستقیم فایل‌های سیستمی، فایل‌های دیتابیس، لاگ‌های سرویس‌ها یا بکاپ‌ها بدون بررسی قبلی می‌تواند باعث اختلال در سرویس یا از دست رفتن اطلاعات شود.

جمع بندی

PowerShell ابزار قدرتمندی برای پیدا کردن فایل‌های حجیم در Windows Server و سیستم‌های ویندوزی است و برای انجام این کار نیازی به نصب نرم‌افزار جانبی ندارد.

با استفاده از Get-ChildItem می‌توان فایل‌ها را پیدا کرد، با -Recurse زیرپوشه‌ها را بررسی کرد، با Where-Object فایل‌ها را بر اساس حجم فیلتر کرد و با Sort-Object آن‌ها را از بزرگ‌ترین به کوچک‌ترین مرتب کرد.

برای پیدا کردن ۲۰ فایل بزرگ در درایو C، دستور زیر یک گزینه ساده و کاربردی است:

Get-ChildItem -LiteralPath C:\ -File -Recurse -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 20 FullName,@{Name="SizeGB";Expression={[math]::Round($_.Length / 1GB, 2)}}

اگر فقط فایل‌های بزرگ‌تر از ۵۰۰ مگابایت موردنظر هستند، می‌توان از دستور زیر استفاده کرد:

Get-ChildItem -LiteralPath C:\ -File -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Length -gt 500MB} | Sort-Object Length -Descending | Select-Object FullName,@{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}

با این روش می‌توان در مدت کوتاهی متوجه شد چه فایل‌هایی بیشترین فضای دیسک را اشغال کرده‌اند و سپس بر اساس نوع فایل و کاربرد آن، درباره مدیریت فضای ذخیره‌سازی تصمیم گرفت.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش پیدا کردن فایل‌های حجیم با PowerShell در ویندوز

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

سپتامبر 2026
شیدسچپج
 1234
567891011
12131415161718
19202122232425
2627282930 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام