Описание команды


split

Разбить файл на части.

split=FileSplit||Path, %p, %t||Size, ||str<>||skip<>||paths<>||<info>||<xinfo>||[tc]||Dialogs||progres<>||upd<>

Параметры:

1-й обязательный параметр.
FileSplitПуть. FileSplit - полный путь к разрезаемому файлу. (%P%N, c:\Test\File.avi).
2-й обязательный параметр.
Path, %p, %tПуть. Path - путь назначения, где создаётся папка с частями файла. см. Дополнение №7. (c:\Test\).
3-й обязательный параметр.
SizeРазмер. Параметр SizeS позволяет установить размер частей разбиваемого файла, где:
  Size - число.
  S - символ:
    b - байты.
    k - килобайты.
    m - мегабайты.
    g - гигабайты.
Дополнительные параметры:
str<>Режим разбивки файла. Параметр str<Mode>, где Mode:
  0 - обычная разбивка файла по заданному размеру (по умолчанию).
  1 - разбить текстовый файл на части по заданному размеру, сохраняя целостность строк.
    Этот режим актуален для "большого" текстового файла, который невозможно прочитать целиком.
    Заданный размер разбивки должен быть больше максимальной длины строки.
    Т.к. строки разной длины, то итоговые файлы будут приблизительны заданному размеру разбивки.
skip<>Пропустить. Параметр skip<Number> , где Number:
  0 - разбивать любые файлы.
  1 - пропустить файл. Если файл меньше заданного размера, то не производить действий по разбивке.
paths<>Путь Имя Расширение. Параметр paths<Folder|Name|Ext|Mode> , где:
  Folder - имя папки, куда разбиваются файлы.
    @ - имя папки является именем файла.
    при пустом значении файлы сохраняются по пути, заданном во 2-м параметре.
  Name - имя разбиваемых частей файла.
    @ - имя разбиваемых частей является имя передаваемого файла.
  Ext - расширение разбиваемых частей файла.
    @ - расширение разбиваемых частей .split.
    # - расширение разбиваемых частей является расширение передаваемого файла.
  Mode - [необязательный] режим счётчика:
    0 - счётчик part_N слева (по умолчанию).
    1 - счётчик part_N справа.
В параметрах может использоваться:
  • rndm - информация случайных данных см. Дополнение №30.
  • [info] - информация, получаемая через параметр см. Дополнение №10.
<info>Получение различной информации. см. Дополнение №10.
<xinfo>Получение различной информации. см. Дополнение №10.
  Аналог параметра <info>, имеет возможность внутри параметра использовать параметр <info>
  Пример: <xinfo=o450<info=f50FilePath//>//>
[tc]Расширенный аналог параметров Total Commander. см. Дополнение №12.
DialogsДиалоги. см. Дополнение №18
  Описание
Различные параметры диалогов.
  [input] - диалог ввода информации в InputBox.
  [richinput] - диалог ввода информации в RichInputBox.
  [combo] - диалог выбора информации в ComboBox.
  [group] - диалог выбора информации в GroupBox.
  [check] - диалог выбора информации в CheckBox.
  [edits] - диалог выбора информации в EditBox.
  [sfold] - выбор каталога.
  [zfold] - выбор каталогов.
  [sopen] - выбор файла для открытия.
  [ssave] - выбор файла для сохранения.
  [sicon] - диалог просмотра и выбора значка.
  [msgbx] - окно сообщения MsgBox.
  [updwn] - диалог выбора числовой информации UpDown.
  [image] - диалог выбора изображения.
  [elect] - диалог выбора файлов и папок.
...и другие диалоги.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет запущен прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять (по умолчанию, т.е. если параметр не прописан, то панели не обновляются).

Примечания:

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALSPLIT0массив входных данных (в первой ячейке путь разбиваемого файла)
GLOBALSPLITмассив выходных данных (список путей [частей] разбитого файла)
GLOBALSPLIT1массив выходных данных (в первой ячейке путь файла, который был разбит)
GLOBALSPLIT2массив выходных данных (в первой ячейке путь файла, который не был разбит)


Собрать файлы можно командой joinf или joinz

Аналог команды для разбития нескольких файлов splis

См. также:

exbnf, exbns, joinb, joinf, joinz, maskx, maskz, reszf, reszs, sdupl, splis

Примеры:
 Как создать кнопку?

global split=%P%N||"%p"||1.5m||paths<|"%O"|%E> slist=$GLOBALSPLIT||##part_cntr<1|1|2>.rar start=RAR||-IBCK||a||-ep||"%P"list<$GLOBALSLIST>||list2<$GLOBALSPLIT>||progres<>||&&wait delss=$GLOBALSPLIT||1 slist=$GLOBALSLIST||^^cntr<0|1|1>=||save<%P%N.txt|1>||upd<1> ;; разбить файл под курсором на части по 1,5 мегабайтов в активную панель, сохраняя имя и расширения файла и упаковать каждую часть в архив RAR (с помощью WinRar), удалив части и сформировать текстовый файл отчёта

global split=%P%N||"%p"||1.5m||paths<|"%O"|%E> slist=$GLOBALSPLIT||##part_cntr<1|1|2>.rar start=RAR||-IBCK||a||-ep||"%P"list<$GLOBALSLIST>||list2<$GLOBALSPLIT>||progres<>||&&wait delss=$GLOBALSPLIT||1 ;; разбить файл под курсором на части по 1,5 мегабайтов в активную панель, сохраняя имя и расширения файла и упаковать каждую часть в архив RAR (с помощью WinRar), удалив части

global split=%P%N||"%p"||1.5m||paths<|"%O"|%E> slist=$GLOBALSPLIT||##part_cntr<1|1|2>.rar start=RAR||-IBCK||a||-ep||"%P"list<$GLOBALSLIST>||list2<$GLOBALSPLIT>||progres<>||&&wait ;; разбить файл под курсором на части по 1,5 мегабайтов в активную панель, сохраняя имя и расширения файла и упаковать каждую часть в архив RAR (с помощью WinRar)

global split=%P%N||"%p"||360k||skip<1> GLOBALSPLIT0<a> GLOBALSPLIT<a> GLOBALSPLIT1<a> GLOBALSPLIT2<a> ;; разбить файл под курсором на части по 360 килобайта в активную панель в именную папку, если файл меньше заданного размера, то не производить действий + записать результаты в глобальные переменные

split=%P%N||"%p"||[combo=BOX_V71]||progres<> ;; разбить файл под курсором на части (выбор в диалоге) в активную панель в именную папку

split=%P%N||"%p"||1.5m||paths<|"%O"|%E>||upd<1> ;; разбить файл под курсором на части по 1,5 мегабайтов в активную панель, сохраняя имя и расширения файла

split=%P%N||"%p"||1g ;; разбить файл под курсором на части по 1-му гигабайту в активную панель в именную папку

split=%P%N||"%p"||1g||progres<> ;; разбить файл под курсором на части по 1-му гигабайту с прогресс баром в активную панель в именную папку

split=%P%N||"%p"||360k ;; разбить файл под курсором на части по 360 килобайта в активную панель в именную папку

split=%P%N||"%p"||360k||paths<[info=s47]|NNN|txt>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку системной даты, имя NNN, расширение txt

split=%P%N||"%p"||360k||paths<|@|#|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, оригинальное расширение файла, приставка part справа

split=%P%N||"%p"||360k||paths<|@|@|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, приставка part справа

split=%P%N||"%p"||360k||paths<|@|@>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель

split=%P%N||"%p"||360k||paths<|rndm[2|7]|@|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, случайное имя, приставка part справа

split=%P%N||"%p"||360k||paths<PPP|NNN|txt|1>||skip<2>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку PPP, имя NNN, расширение txt, приставка part справа, если файл меньше, то скопировать в папку

split=%P%N||"%p"||360k||paths<PPP|NNN|txt|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку PPP, имя NNN, расширение txt, приставка part справа

split=%P%N||"%p"||360k||paths<PPP|NNN|txt>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку PPP, имя NNN, расширение txt

split=%P%N||"%p"||360k||paths<rndm[2|4]|@|@|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в создаваемую случайную папку, приставка part справа

split=%P%N||"%p"||360k||progres<> ;; разбить файл под курсором на части по 360 килобайта с прогресс баром в активную панель в именную папку

split=%P%N||"%p"||360k||skip<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в именную папку, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<[info=s47]|NNN|txt>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку системной даты, имя NNN, расширение txt, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<|@|#|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, оригинальное расширение файла, приставка part справа, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<|@|@|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, приставка part справа, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<|@|@>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<|rndm[2|7]|@|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель, случайное имя, приставка part справа, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<PPP|NNN|txt|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку PPP, имя NNN, расширение txt, приставка part справа, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<PPP|NNN|txt>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в папку PPP, имя NNN, расширение txt, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||skip<1>||paths<rndm[2|4]|@|@|1>||upd<1> ;; разбить файл под курсором на части по 360 килобайта в активную панель в создаваемую случайную папку, приставка part справа, если файл меньше заданного размера, то не производить действий

split=%P%N||"%p"||360k||upd<1>||progres<> ;; разбить файл под курсором на части по 360 килобайта с прогресс баром в активную панель в именную папку + обновить панель

split=%P%N||"%p"||600m ;; разбить файл под курсором на части по 600 мегабайт в активную панель в именную папку

split=%P%N||"%p"||600m||progres<> ;; разбить файл под курсором на части по 600 мегабайт с прогресс баром в активную панель в именную папку

split=%P%N||"%t"||200k||str<1>||skip<1>||paths<|@|#>||upd<3> ;; разбить текстовый файл под курсором на части по 200 килобайт в другую панель в именную папку (сохраняется целостность строк)

split=%P%N||"%t"||360k||str<1>||progres<>||upd<3> ;; разбить текстовый файл под курсором на части по 360 килобайт в другую панель в именную папку (сохраняется целостность строк)

split=%P%N||"%t"||40m||str<1>||progres<>||upd<3> ;; разбить большой текстовый файл под курсором на части по 40 мегабайт в другую панель в именную папку (сохраняется целостность строк)


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru