FileРost.Ru: NSCopy - описание

 

[DS] Non-Stop Copy NB: Данная страница является зеркалом страницы Дмитрия Сергеева, размещенной по адресу http://dmitrys.nm.ru/programs/nscopy/ (откроется в новом окне)
Зеркало было создано потому, что оригинальная страница бывает не всегда доступна, а информация, находящаяся на ней актуальна для наших пользователей.

Non-Stop Copy
ОС: Windows (9x, NTx, XP);
компьютер: любой;
последняя версия: 1.04;
скачать (58Kb)
зеркала (откроется в новом окне)

Программа позволяет копировать поврежденные файлы с любых носителей.

* Способна восстанавливать информацию из плохих секторов, нечитаемые сектора заменяются нулевыми байтами
* Умеет продолжать файлы не до конца скопированные с помощью других средств
* Процесс копирования можно прервать в любой момент а затем, при необходимости, продолжить
* Возможно копирование в один файл из разных источников
* Отображает наглядную карту расположения поврежденных частей файла и процесса копирования
* Корректно работает на любых типах носителей и на любых файловых системах, поддерживаемых операционной системой
* Поддержка файлов размером больше 4GB
* Возможность автоматического выхода из программы по завершению копирования
* Возможность автоматического выключения компьютера по завершению копирования
* Поддержка командной строки
* Низкая ресурсоемкость
* Малый размер программы
* Русский, английский, украинский интерфейсы

Новое в версии 1.04:

* Продолжение копирования после остановки не только с того же этапа, но и с той же позиции в файле
* Ожидание носителя, извлеченного в процессе копирования
* Небольшой скрипт, позволяющий копировать каталоги

Программа не использует никаких низкоуровневых методов чтения информации, однако действует очень эффективно.

В программе реализован интересный алгоритм, разделяющий процесс копирования на 4 этапа: быстрое копирование, детализация, точная детализация, копирование плохих секторов. Цель этого разделения — за как можно меньшее время скопировать как можно больше хороших секторов, и на каждом этапе получать все более детальную картину плохих секторов.

Быстрое копирование. Копирует файл довольно большими блоками. По-умолчанию размер этого блока равен 1mb при копировании с быстрых носителей (CD, HDD), и 64kb при копировании с медленных носителей (FDD). Если внутри такого блока окажется плохой сектор, весь блок будет считаться плохим. В результате достигается быстрый пропуск групп плохих секторов и получается приблизительная картина плохих участков копируемого файла.

Детализация. Каждый плохой участок копирует по секторам до первого плохого сектора, сперва двигаясь от начала плохого участка, затем от его конца. В результате при малых затратах получается более точная картина групп плохих секторов.

Точная детализация. Пытается скопировать каждый сектор во всех плохих участках. По окончанию этого этапа получается реальная картина плохих секторов.

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

Программу можно настроить так, чтобы последний этап повторялся до тех пор, пока весь файл не будет успешно скопирован. Потому программа и называется — Non-Stop Copy.

Non-Stop Copy — FAQ Как сделать патч-файл, хоть программа и не умеет их создавать

Что я имею ввиду под названием “патч-файл”? Патч-файл — это сравнительно небольшой файл, который вы сможете сформировать из целой копии файла, чтобы восстановить плохие участки поврежденной копии этого же файла, полученной с помощью NSCopy.

Вот например, вы где-то записали на диск 650-метровый фильм (film.avi), принесли его домой, а запись оказалась слегка битой. С помощью NSCopy вам удалось скопировать все, кроме каких-то жалких 10 секторов. А записывать фильм снова, чтоб донести его, наконец, целым ну никак не хочется.

Тогда можно проделать следующие действия:

1. Взять копию NSC-файла, который получился в результате копирования фильма, принести ее туда, где находится целая копия фильма (film.avi.nsc) и скопировать NSC-файл, допустим, в каталог “C:\Patch\”. В результате получился файл “C:\Patch\film.avi.nsc”.

2. С помощью NSCopy, запустить копирование целой копии фильма в каталог “C:\Patch\” (т.е. например “D:\Video\film.avi” копируем в “C:\Patch\film.avi”). В результате получился файл “C:\Patch\film.avi”, в котором присутствуют только поврежденные части, информация о которых была сохранена в NSC-файле. А все остальное внутри файла забито нулевыми байтами.

3. Полученный файл “C:\Patch\film.avi” надо заархивировать любым архиватором — с кучей нелей они все неплохо справятся. Некоторыми архивами, такие большие файлы, как фильмы, лучше заархивировать дважды (тот же ZIP сжал себя повторно на 650 мегабайтном файле примерно в 33 раза). В результате мы получим довольно маленький файл, например “film.zip”. При небольшом количестве плохих секторов его размер будет всего несколько десятков килобайт. Вот и нужный нам патч-файл. Берем этот “film.zip” и несем его домой.

4. Дома разархивируем “film.avi” например в “C:\Good\film.avi” и далее копируем с помощью NSCopy из “C:\Good\film.avi” в вашу поврежденную копию фильма.

5. Готово. Ваш фильм теперь полностью целый, а “C:\Good\film.avi” можно удалить.

Конечно, понимаю, это неудобно и долго. Но зато если сильно понадобится, можно и проделать.

Как копировать каталоги

В состав дистрибутива Non-Stop Copy v1.04 входит пакетный файл “nscopyd.bat”. Он позволяет копировать с использованием NSCopy содержимое одного каталога в другой, включая подкаталоги.

Его использование, надеюсь, больших затруднений ни у кого не вызовет. Однако, все равно, опишу как.
Допустим, вам надо скопировать содержимое диска “E:\” в каталог “D:\Copy_E”.

1. Зайдите в “Пуск”—“Выполнить...”. Нажмите “Обзор...” и укажите “nscopyd.bat” .

2. Допишите в конец получившейся строки в поле “Открыть”: "E:\" "D:\Copy_E\" .

Т.е. в результате там должно получиться что-то вроде:
"C:\Program Files\NSCopy\nscopyd.bat" "E:\" "D:\Copy_E\"

3. Нажмите “ОК”.

Еще несколько комментариев.

Пакетный файл работает только под Windows NT / 2K / XP и выше.

Маски не поддерживаются, более того — их указывать нельзя. Т.е. “E:\*.*” приведет к ошибке. Слеш на конце можно ставить, а можно и не ставить. Т.е. “D:\Copy_E” и “D:\Copy_E\” — это одно и то же. В любом случае, то, что вы укажете, будет восприниматься как путь. Отдельный файл скопировать с помощью пакетного файла нельзя.

После каталогов можно указать дополнительные ключи, с которыми будет запускаться NSCopy. Например, может оказаться полезным ключ “/u” (не выдавать никаких сообщений, требующих реакции пользователя). Список всех доступных ключей командной строки вы можете узнать, запустив “nscopy.exe /?”.

Атрибуты каталогов не копируются. Т.е. если каталог имел атрибут “скрытый”, то его копия этого атрибута уже иметь не будет.

Как интегрировать NSCopy в проводник (добавить пункт в меню правой кнопки)

Для этого достаточно добавить ярлык на nscopy.exe в каталог меню SendTo. Как это сделать:

1. Открываем “Мой компьютер” и заходим на диск, на котором установлена ваша система (чаще всего это диск “C:”)

2. Далее идем в папку “Documents And Settings”, а затем в папку, имя которой совпадает с именем пользователя, под которым вы зашли в систему.

3. Далее в строке “Адрес:” пишем “SendTo” (без кавычек) и давим Enter. Возможно, у вас включено отображение скрытых папок или же “SendTo” у вас не скрыта, тогда в нее можно зайти и просто с помощью мыши.

4. Теперь в другом окне открываем папку содержащую “nscopy.exe” и делаем в папке “SendTo” ярлык на “nscopy.exe”. Если что, делается это с помощью перетаскивания “nscopy.exe” правой кнопкой мышки в “SendTo” и затем выбирается пункт “Создать ярлык”.

5. Переименуйте ярлык в “Non-Stop Copy”.

И все. Теперь, если вам необходимо скопировать какой-нибудь файл с помощью Non-Stop Copy, просто щелкните на нем правой кнопкой мышки и выберите пункт "Отправить”—“Non-Stop Copy”.

Как сделать так, чтобы nsc-файл открывался по двойному щелчку мыши

1. Дважды щелкните на NSC-файле и, когда появится окно для выбора с помощью какой программы открыть файл, укажите “nscopy.exe”, установив при этом галочку “Использовать программу для всех файлов такого типа”.

2. Закройте запустившуюся “Non-Stop Copy”.

3. В любом окне проводника выберите в меню: “Сервис”—“Свойства папки...” или зайдите в “Пуск”—“Настройка”—“Панель управления”—“Свойства папки”

4. Перейдите на вкладку “Типы файлов”, в списке “Зарегистрированные типы файлов” найдите расширение “NSC”, выберите этот элемент списка и нажмите кнопку “Дополнительно”.

5. В открывшемся окне в списке “Действия” выберите “open” и нажмите кнопку “Изменить...”.

6. В открывшемся окне в поле “Приложение, исполняющее действие” допишите в конец строки “/i” (без кавычек). Т.е. там должно получиться что-то похожее на следующее:
"C:\Program Files\NSCopy\NSCOPY.EXE" "%1" /i

7. Далее нажмите во всех окнах “ОК”.

NB: Орфография, пунктуация и обращение от первого лица сохранены.

...