Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 1. File System - Файловая cистема
copy | deblank | delete | deltree | filefind | filetime | fixfile | index | list | mkdir | name | olist | partcopy | rename | setbytes | space | sync | touch | treesize |


Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: 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 для получения подробной информации.