پاورشل فایل ها را از پوشه های کاربر حذف می کند. فایل های قدیمی تر از n روز را حذف کنید. یک کار در Task Scheduler ایجاد کنید

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

بیایید هر سه گزینه را در نظر بگیریم.

حذف فایل های قدیمی با File Explorer

روبان کاوشگر ویندوز 10و 8.1 حاوی ابزاری است که به شما امکان می دهد تمام فایل ها را در یک فهرست بر اساس تاریخ اصلاح، نوع، اندازه و برخی ویژگی های دیگر مرتب کنید. فرض کنید می خواهید فایل های قدیمی تر از یک ماه را حذف کنید. به پوشه ای که فایل های موجود در آن موجود است بروید و F3 را روی صفحه کلید فشار دهید. این شما را به بخش جستجو در نوار Explorer می برد.

روی نماد کلیک کنید "تاریخ تغییر"و بازه زمانی مورد نظر را از لیست کشویی در این مورد یک ماه انتخاب کنید.

اکسپلورر بلافاصله همه فایل ها را بر اساس مرتب می کند پارامتر داده شده، بنابراین فقط باید آنها را با ماوس انتخاب کرده و به سطل زباله بفرستید. روش ساده است، اما خیلی راحت نیست، زیرا همه چیز باید با دست انجام شود. خیلی بیشتر وجود دارد روش موثرحذف فایل های قدیمی و اکنون ما فقط آن را در نظر خواهیم گرفت.

حذف فایل های قدیمی در خط فرمان

برای حذف فایل ها از "منقضی شده" ما از ابزار کنسول استفاده خواهیم کرد ForFiles.exe A که وظیفه انتخاب یک شی و انجام عمل مشخص شده بر روی آن را بر عهده دارد. این ابزار از چندین گزینه پشتیبانی می کند، یعنی:

/ س- به شما امکان می دهد یک جستجوی بازگشتی انجام دهید.
- مسیر یک پارتیشن یا دایرکتوری را مشخص می کند.
/D- تعداد روزهای پس از آخرین اصلاح را نشان می دهد.
/ سی- دستور عمل بر روی فایل را تنظیم می کند.

در یک تیم ForFilesهمچنین می توانید متغیرهایی را مشخص کنید که مقادیر متفاوتی را برمی گرداند، به عنوان مثال، @فایل، که نام فایل را برمی گرداند و ما از آن استفاده خواهیم کرد. به عنوان مثال، تمام فایل های قدیمی تر از 10 روز را در یک پوشه حذف کنید "تصاویر"در ریشه درایو سیستم قرار دارد.

یک خط فرمان باز کنید و دستور زیر را اجرا کنید:

ForFiles /p "C:\Pictures" /s /d -10 /c "cmd /c del @file"

ForFiles / p "C:\Pictures" / s / d - 10 / c "cmd /c del @file"

مثال از سه کلید استفاده می کند (مسیر) , /s (بازگشت)و /d (تعداد روز) و همچنین دستور حذف دلو متغیر نام فایل @فایل. وقتی اینتر را فشار دادیم، ForFilesروی محتویات پوشه تکرار کنید "تصاویر", از جمله دایرکتوری های تو در توو تمام فایل های قدیمی تر از 10 روز را حذف می کند .

همانطور که می بینید، این روش کارآمدتر و سریعتر است، علاوه بر این، می توانید با ایجاد وظایف برای آن در Scheduler، آن را خودکار کنید.

توجه داشته باشید: پس از اجرای دستور، ممکن است پیامی در کنسول ظاهر شود که فایل خاصی را نمی توان یافت. مهم نیست، معمولا اینطور است فایل مخفیپایگاه داده ای که مسئول تنظیمات دایرکتوری است. اگر در پوشه نیست (و در تئوری باید باشد)، ForFiles به کاربر اطلاع می دهد.

حذف فایل های قدیمی با PowerShell

در اینجا تقریباً همه چیز مانند مثال با است خط فرمان، با این تفاوت که نحو متفاوت است. بیایید فرض کنیم که نه مسیر پوشه حاوی فایل ها و نه اهداف تغییر کرده است. راه اندازی کنسول پاورشلو دستوری مانند این را اجرا کنید.

گاهی اوقات لازم است فایل های قدیمی تر از n روز را حذف کنید. به عنوان مثال پشتیبان گیری. می توانید این کار را به صورت دستی انجام دهید، آنها را بر اساس تاریخ مرتب کنید و آنها را حذف کنید، یا می توانید از یک اسکریپت استفاده کنید. AT این مثالما به یک اسکریپت برای حذف فایل های قدیمی تر از n روز نگاه می کنیم و یک کار را به زمان بندی اضافه می کنیم ویندوز سرور 2012R2.

1.

2.

اسکریپت برای حذف فایل های قدیمی تر از n روز

این اسکریپت در واقع بسیار ساده است، در PowerShell ایجاد شده و به شکل زیر است:

FORFILES /p F:\backup\ /s /m *.* /d -30 /c "CMD /c del /Q @FILE"

جایی که:
F:\backup\- مسیری که در آن پوشه به دنبال فایل هایی برای حذف خواهیم بود
*.* - نام (ماسک) فایل ها
/d-30- قدیمی تر از چند روزی است که برای حذف فایل ها نیاز داریم.

این چیزی است که در PowerShell به نظر می رسد:

فقط اجرای آن باقی می ماند و تمام.

یک کار در Task Scheduler ایجاد کنید

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

پس برای این به چه چیزی نیاز داریم؟

برای شروع، بیایید به Start -> Control Panel -> Administrative Tools"و آنجا فرار کن" وظیفه زمانبندی«.

مورد را انتخاب کنید " یک کار ایجاد کنید«:

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

برنامه یا اسکریپت

و مسیر PowerShell را مشخص کنید:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

و در آرگومان مسیر اسکریپت خود را که قبلا ایجاد کرده بودیم مشخص می کنیم:

فایل "c:\script\chistkaf.ps1"

مطبوعات " خوب" یک بار دیگر " خوب»

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