Disk Scanner — это мощный скрипт на Python для анализа использования дискового пространства. Он помогает найти самые большие файлы и директории на компьютере, а также строит наглядную иерархию каталогов, что позволяет быстро определить, где занято наибольшее количество места на диске.
- Поиск самых больших файлов (по умолчанию >10 МБ)
- Определение самых больших директорий
- Построение иерархии директорий с размером более 500 МБ
- Корректный учёт реального места, занимаемого файлами на диске
- Корректная обработка облачных файлов (например, OneDrive) в Windows
- Индикация прогресса сканирования в реальном времени
- Сохранение отчёта в текстовый файл
- Многопоточная обработка для ускорения сканирования
- Обработка ошибок доступа к файлам и директориям
- Python 3.6 или выше
- Windows, Linux или macOS
- Скопируйте файл
disk_scanner.pyв удобное место на вашем компьютере - Убедитесь, что у вас установлен Python 3.6 или выше
Запустите командную строку или PowerShell от имени администратора и выполните:
python disk_scanner.py [путь]
Примеры:
python disk_scanner.py C:\
python disk_scanner.py "C:\Program Files"
python disk_scanner.py D:\Downloads
Запустите терминал и выполните:
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).
После завершения сканирования скрипт выведет:
- ТОП-100 самых больших файлов (>10 МБ)
- ТОП-100 самых больших директорий
- Иерархическое дерево директорий размером более 500 МБ
Все результаты также сохраняются в файл отчёта disk_space_report_YYYYMMDD_HHMMSS.txt в текущей директории.
- Обработка облачных файлов: Скрипт корректно определяет файлы OneDrive и других облачных хранилищ в Windows, показывая их реальный размер на диске вместо "виртуального" размера.
- Многопоточность: Для ускорения анализа размеров директорий используется параллельная обработка.
- Обработка ошибок: Скрипт корректно обрабатывает ошибки доступа, что позволяет ему продолжать работу даже при отсутствии прав на некоторые файлы или директории.
- Индикация прогресса: В процессе работы скрипт показывает, какие директории анализируются в данный момент, чтобы было понятно, что он не завис.
В начале файла скрипта вы можете изменить следующие константы:
MIN_FILE_SIZE— минимальный размер для "больших" файлов (по умолчанию 10 МБ)MIN_DIR_SIZE_HIERARCHY— минимальный размер для отображения в иерархии директорий (по умолчанию 500 МБ)MAX_RESULTS— максимальное количество результатов для отображения (по умолчанию 100)
- "Доступ запрещён": Запустите скрипт с правами администратора
- Медленное сканирование: Для больших дисков сканирование может занять продолжительное время, особенно если на них много файлов
- Ошибки при сканировании системных папок: Это нормально, скрипт продолжит работу, пропустив недоступные файлы и директории
Свободное использование в личных и коммерческих целях.
Руслан Дудов
Примечание: Данный скрипт предназначен для анализа дискового пространства и не вносит никаких изменений в файловую систему. Тем не менее, рекомендуется запускать его с осторожностью на критически важных системах.