У меня есть маленький сервер, который начинает заполняться.

Я хотел бы удалить все старые файлы, которые не были открыты или изменены в течение длительного времени.

Есть ли способ поиска по всему накопителю по дате открытия - и форма заказа с последнего до последнего открытого?

3 ответа3

2

Как ни странно, я просто запускаю проект, чтобы привести в порядок старые / исторические данные моих компаний.

Я использую скрипт powershell, который я написал ниже, который выводит файл CSV для всех файлов, с которыми он сталкивается. Затем я использую Excel для сортировки данных по тому столбцу, который для меня наиболее полезен.

Get-ChildItem C:\*path* -Recurse | Select-Object Name, CreationTime, LastAccessTime, Directory,  @{Name="Kbytes";Expression={$_.Length / 1Kb}} | Export-CSV xxxxxxx.csv

Вы можете скопировать вышеупомянутое, затем вставить его в блокнот, изменить путь к месту сохранения ваших файлов (лучше использовать локально, хотя подключенный диск будет работать), а затем сохранить как «filename.ps1».

Если вы столкнетесь с какими-либо ошибками, пытаясь запустить скрипт powershell, дайте мне знать, и я могу дать соответствующий совет.

0

PowerShell:

Get-ChildItem \ -Recurse | Sort-Object LastAccessTime | Select-Object FullName, LastAccessTime

Это позволит найти все файлы и папки на текущем диске, отсортировать их в порядке возрастания в последний раз, когда к ним был осуществлен доступ, и показать их полный путь и время последнего доступа.

Это может занять некоторое время, особенно на системных дисках или других дисках с большим количеством файлов и / или папок. Однако вам не следует использовать этот критерий в одиночку при очистке файлов на системном диске или в области, где хранятся программные файлы или данные - если вы это сделаете, это может серьезно испортить ситуацию. Используйте это только для пользовательских данных, таких как документы, фотографии, видео и т.д.

PowerShell также предоставляет гораздо больше возможностей для работы с данными. Как @CharlesH описал в своем сценарии, вы можете записать вывод в файл CSV, а не просто оставить его на консоли. Вы также можете выполнить некоторую фильтрацию в соответствии с размером файла и другими свойствами или отформатировать данные, чтобы показать больше или меньше данных и отобразить их более удобным для вас способом.

0

Альтернативный подход заключается в использовании TCC по адресу http://jpsoft.com/all-downloads/downloads.html (версия LE бесплатна). Это очень модернизированная версия CMD, которая позволяет вам как упорядочивать, так и выбирать по каждой дате файла, например:

dir /t:a /od                         - lists files in access time order;
dir /[da1980-1-1,2008-12-31]         - selects files not accessed since 2008;
del * /s /[da1980-1-1,2008-12-31] /n - shows deletable files not accessed since 2008;
del * /s /[da1980-1-1,2008-12-31]    - deletes files not accessed since 2008.

Выбор диапазона также можно использовать с командами copy и move , если вы предпочитаете архивировать файлы, а не удалять их.

Если (как и я) вы находите PowerShell немного устрашающим, вы можете предпочесть это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .