Секреты NTFS. Дефрагментация одиночных файлов
Автор: Андрей Крупин
Опубликовано 14 мая 2005 года
Замечательная, конечно, вещь - дефрагментатор дисков, однако есть у него один недостаток: в силу заложенных в него алгоритмов, он частенько оставляет несколько файлов фрагментированными (как правило, это часто используемые данные, либо занятые каким-либо приложением или системой). Как быть в таких случаях?
Разрешается сей вопрос путем использования чудо-утилиты Contig, вышедшей из-под пера программиста Марка Руссиновича (Mark Russinovich). Вообще, этот товарищ вкупе с не менее талантливым Брайсом Когсвеллом (Bryce Cogswell) явил информационно-техническому миру значительное число весьма и весьма нужных в компьютерном хозяйстве бесплатных утилит, каждая из которых заслуживает отдельного внимания. Взгляните на их сайт - это просто находка для системного администратора и кладезь полезнейшей информации. Мы в своих дальнейших заметках "RTFM" постараемся еще не раз вернуться к этому ресурсу.
Итак, Contig - утилита командной строки для дефрагментации одиночных файлов (при этом она будет не прочь поработать и с отдельным диском или директорией).
Среди параметров, используемых при работе с программой, доступны следующие:
-v - используется для вывода служебной информации о выполняемых операциях с файлами;
-a - применяется в случае, если необходимо получить только информацию о степени фрагментированности данных без выполнения самой фрагментации;
-s - используется для работы с директориями (включая вложенные);
-q - включает "тихий" режим (quiet mode) работы утилиты, в результате которого только после окончания работы приложения выводится итоговая информация;
-n - используется для создания нового нефрагментированного файла заданного размера (как правило, эта опция актуальна для генерирования данных достаточно большого объема);
-? - вызов справки.
Как видите, ключей немного и пользоваться ими крайне просто. Например, для дефрагментации файла book.rar пишем следующее:
contig.exe -v book.rar
Теперь попробуем "натравить" утилиту на директорию Tools для дефрагментации всех EXE-файлов. Для это пишем следующую команду, которая заставит программу рекурсивно обойти все дерево каталогов:
contig.exe -v -s c:\tools\*.exe
Ну а для создания нового файла Info размером 200 Кбайт (200 x 1024 = 204800 байт) достаточно написать:
contig.exe -n info 204800
Для полной автоматизации работы с Contig оптимальным решением будет написать CMD-файл (включив в список наиболее фрагментируемые данные) и поставить его в планировщик задач для запуска в определенное время.