Команда: partcopy
Копировать байтовые блоки из одного файла в другой файл с заданным смещением и длиной
sfk partcopy infile offset length outfile [offset2] [-yes]
sfk partcopy infile -allfrom startoffset outfile ...
sfk partcopy infile -fromto startoffset endoffset outfile ...
Cчитывает блок байтов из infile по указанному смещению offset, и записывает их в другой файл.
Если указано смещение offset2, то outfile не создается, но байты используются для перезаписи
других байтов в выходном файле.
По умолчанию команда имитирует проверку длины файлов, но не копирует какие-либо данные.
Добавьте -yes, чтобы действительно скопировать содержимое.
Можно использовать отрицательные смещения, чтобы указать позиции относительно конца файла, а не начала файла.
Если выходное смещение + длина (offset2 + length) больше размера выходного файла, выходной файл расширяется.
Используйте -noext, чтобы избежать этого.
Синтаксис длины:
100000 , 100k = 100000 байт
2000000k , 2000m , 2g = 2 гигабайта
ПАРАМЕТРЫ
-quiet
- не выводить количество скопированных байтов
-verbose
- рассказать, как рассчитываются смещения и длины.
Введите сразу после "partcopy" для всей информации.
-fromto
- используйте, если вы не хотите указывать смещение
и длину для входного файла, но начало и смещение конца.
Смещение конца является исключающим, т.е. длина - конец минус начало.
-fromtoinc
- то же самое, что и -fromto, но включает смещение конца.
Таким образом, длина копирования равна (конец - начало) + 1
-allfrom
- копировать все от начального смещения, до конца файла.
-noext
- не разрешать расширение выходного файла,
остановить с ошибкой, если запись выходит за пределы выходного файла.
-append
- если указано после имени выходного файла, добавляются данные
в конец выходного файла.
Смотрите также
sfk media
Сохранение или вырезание нескольких частей файла
sfk setbytes
Запись последовательности байтов в файл
sfk hexdump
Показать содержимое двоичного файла в виде шестнадцатеричного дампа
sfk hexfind
Поиск данных в двоичных файлах
sfk hextobin
Преобразование шестнадцатеричного дампа в двоичный
ПРИМЕРЫ
sfk partcopy first.dat 10000 50 second.dat 500000
копирует 50 байт из first.dat по смещению 10000 в second.dat (который должен существовать)
со смещением 500000
sfk partcopy first.dat -fromto 0x2710 0x2950 second.dat
введите начальное и конечное смещение в шестнадцатеричных числах.
Создается выходной файл (выходное смещение не задано)
sfk partcopy in.txt -allfrom 1000 out.txt -append
Взять из in.txt все данные от смещения 1000 до конца и добавить его в out.txt
sfk partcopy in.dat -fromto -1000 -900 out.dat -500
взять из in.dat все байты от конец минус 1000 до конец минус 900, т.е. блок размером 100 байт,
и записать это в файл out.dat в конец минус 500 байт.
Введите -verbose после partcopy для получения подробной информации.