Як в Windows 10 видалити файли старше N-днів
- Видалення старих файлів за допомогою Провідника
- Видалення старих файлів в командному рядку
- Видалення старих файлів за допомогою PowerShell
Однією з особливостей останніх версій Windows 10 є здатність підтримувати себе в чистоті, автоматично видаляючи стали непотрібними після закінчення певного терміну файли. У більш ранніх версіях системи, в яких ця функція ще не реалізована, для видалення старих файлів можна використовувати командний рядок, консоль PowerShell і навіть Провідник, хоча процедура очищення за допомогою останнього не так зручна.
Розглянемо всі три варіанти.
Видалення старих файлів за допомогою Провідника
Стрічка Провідника Windows 10 і 8.1 містить інструмент, який дозволяє впорядкувати всі файли в каталозі за датою зміни, типу, розміру та деяким іншим властивостям. Припустимо, ви хочете видалити файли старше одного місяця. Зайдіть в папку з залежався в ній файлів і натисніть на клавіатурі F3. При цьому ви будете переключені в стрічці Провідника в розділ пошуку.
Клацніть по іконці «Дата зміни» і виберіть у випадаючому списку потрібний період часу, в даному випадку місяць.
Провідник відразу відсортує всі файли по заданому параметру, так що вам залишиться тільки виділити їх мишкою і відправити в Корзину. Спосіб простий, але не особливо зручний, оскільки все доводиться робити руками. Є куди більш ефективний метод видалення старих файлів і зараз якраз ми його розглянемо.
Видалення старих файлів в командному рядку
Для видалення файлів з «закінченим терміном придатності» ми будемо використовувати консольную утиліту ForFiles.exe, що відповідає за вибір об'єкту та здійснення з ним зазначеного дії. Утиліта підтримує кілька параметрів, а саме:
• / S - дозволяє виконувати рекурсивний пошук.
• / P - вказує шлях до розділу або каталогу.
• / D - вказує кількість днів з моменту останньої модифікації.
• / C - задає команду дії над файлом.
У команді ForFiles також можна вказувати повертають різні значення змінних, наприклад, @file, яка повертає ім'я файлу і яку ми будемо використовувати. Видалимо для прикладу всі файли старше 10 днів в папці «Картинки», що лежить в корені системного диска.
Відкриваємо командний рядок і виконуємо таку команду:
ForFiles / p "C: \ Картинки" / s / d - 10 / c "cmd / c del @file"
У прикладі використовуються три ключа / p (шлях), / s (рекурсія) і / d (кількість днів), а також команда видалення del і змінна імені файлу @file. Як тільки ми натиснемо введення, ForFiles пробіжить по всьому вмісту папки «Картинки», включаючи вкладені каталоги і видалить всі файли старше 10 днів.
Як бачите, цей спосіб більш ефективний і швидкий, крім того, ви можете його автоматизувати, створивши для нього завдання в Планувальнику.
Примітка: після виконання команди в консолі може вивестися повідомлення, що не вдається знайти якийсь файл. Не звертайте увагу, зазвичай це прихований файл бази даних, що відповідає за налаштування каталогу. Якщо в папці його немає (а можливо, по ідеї, повинен), ForFiles повідомляє про це користувача.
Видалення старих файлів за допомогою PowerShell
Тут практично все те ж саме, що і в прикладі з командним рядком, хіба що синтаксис інший. Припустимо, що ні шлях до папки з файлами, ні мети у нас не змінилися. Запускаємо консоль PowerShell і виконуємо команду такого виду:
Get - ChildItem "C: \ Картинки" - Recurse | Where - Object {($ _. LastWriteTime - lt (Get - Date). AddDays (- 10))} | Remove - Item
Результат буде аналогічним попередньому.
Зверніть увагу, що в команді також використовується рекурсія (-Recurse) і зазначення дати в днях AddDays (-10).