Skip to content

rdudov/disk_scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Disk Scanner

Описание

Disk Scanner — это мощный скрипт на Python для анализа использования дискового пространства. Он помогает найти самые большие файлы и директории на компьютере, а также строит наглядную иерархию каталогов, что позволяет быстро определить, где занято наибольшее количество места на диске.

Возможности

  • Поиск самых больших файлов (по умолчанию >10 МБ)
  • Определение самых больших директорий
  • Построение иерархии директорий с размером более 500 МБ
  • Корректный учёт реального места, занимаемого файлами на диске
  • Корректная обработка облачных файлов (например, OneDrive) в Windows
  • Индикация прогресса сканирования в реальном времени
  • Сохранение отчёта в текстовый файл
  • Многопоточная обработка для ускорения сканирования
  • Обработка ошибок доступа к файлам и директориям

Системные требования

  • Python 3.6 или выше
  • Windows, Linux или macOS

Установка

  1. Скопируйте файл disk_scanner.py в удобное место на вашем компьютере
  2. Убедитесь, что у вас установлен Python 3.6 или выше

Использование

Windows

Запустите командную строку или PowerShell от имени администратора и выполните:

python disk_scanner.py [путь]

Примеры:

python disk_scanner.py C:\
python disk_scanner.py "C:\Program Files"
python disk_scanner.py D:\Downloads

Linux/macOS

Запустите терминал и выполните:

chmod +x disk_scanner.py  # Сделать файл исполняемым (только один раз)
sudo ./disk_scanner.py [путь]

Примеры:

sudo ./disk_scanner.py /
sudo ./disk_scanner.py /home
sudo ./disk_scanner.py /var/log

Параметры

  • [путь] — необязательный параметр, который указывает, откуда начинать сканирование. Если не указан, используется корневая директория (C: для Windows, / для Linux/macOS).

Результаты

После завершения сканирования скрипт выведет:

  1. ТОП-100 самых больших файлов (>10 МБ)
  2. ТОП-100 самых больших директорий
  3. Иерархическое дерево директорий размером более 500 МБ

Все результаты также сохраняются в файл отчёта disk_space_report_YYYYMMDD_HHMMSS.txt в текущей директории.

Особенности реализации

  • Обработка облачных файлов: Скрипт корректно определяет файлы OneDrive и других облачных хранилищ в Windows, показывая их реальный размер на диске вместо "виртуального" размера.
  • Многопоточность: Для ускорения анализа размеров директорий используется параллельная обработка.
  • Обработка ошибок: Скрипт корректно обрабатывает ошибки доступа, что позволяет ему продолжать работу даже при отсутствии прав на некоторые файлы или директории.
  • Индикация прогресса: В процессе работы скрипт показывает, какие директории анализируются в данный момент, чтобы было понятно, что он не завис.

Настройка

В начале файла скрипта вы можете изменить следующие константы:

  • MIN_FILE_SIZE — минимальный размер для "больших" файлов (по умолчанию 10 МБ)
  • MIN_DIR_SIZE_HIERARCHY — минимальный размер для отображения в иерархии директорий (по умолчанию 500 МБ)
  • MAX_RESULTS — максимальное количество результатов для отображения (по умолчанию 100)

Решение проблем

  • "Доступ запрещён": Запустите скрипт с правами администратора
  • Медленное сканирование: Для больших дисков сканирование может занять продолжительное время, особенно если на них много файлов
  • Ошибки при сканировании системных папок: Это нормально, скрипт продолжит работу, пропустив недоступные файлы и директории

Лицензия

Свободное использование в личных и коммерческих целях.

Автор

Руслан Дудов


Примечание: Данный скрипт предназначен для анализа дискового пространства и не вносит никаких изменений в файловую систему. Тем не менее, рекомендуется запускать его с осторожностью на критически важных системах.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages