09.12.2010 23:58
Snoring
 
Вызов: BTRCOPY <откуда> <куда>
[/s информация о файле]
[/v восстановление испорченного файла]
[/c клонирование файла]
[/режим (1-вперед; 2-назад)]
[/i:старт:размер (вставка) ]
[/f:старт:размер (очистка) ]
[/r:старт(откуда):старт(куда):размер (замена) ]
[/m:старт(куда):тип+значение (присвоение) ]
[/d (не удалять имеющиеся записи)]

Чтобы восстановить файл нужно выполнить::l_Pocket_PC:
1. переименовать ckpays.btr в ckpays.old
2. получить пустой файл такой же структуры выполнив клонирование
btrcopy ckpays.old ckpays.btr /c
или просто взять пустой файл из каталога ddf\data
3. скопировать все записи, которые можно прочитать в новый файл
btrcopy ckpays.old ckpays.btr

Для ленивых придуман ключ /v - восстановление в одно действие :soldier:
btrcopy ckpays.old ckpays.btr /v
Он хорошо работает когда сбой на последней странице файла или на страницах с индексами. Но копирование записей идет до первой ошибки!

Если в файле не все записи читаются, то можно на 3 шаге попробовать чтение с конца файла :ok:
btrcopy ckpays.old ckpays.btr /2

или комбинацию
btrcopy ckpays.old ckpays.btr
btrcopy ckpays.old ckpays.btr /2 /d