ANB Software Делитель файлов
============================

Версия 0.5 (2023.04.16)  
Авторские права © 2023, Александр Бабаев.
-------------------------------------------------------------------

* * *

### Содержание

1.  [Описание](#description)
2.  [Лицензия](#license)
3.  [Как использовать: Разделение файлов](#split)
4.  [Как использовать: Объединение файлов](#join)
5.  [Как использовать: Параметры приложения](#options)
6.  [Как использовать: Параметры консольной строки](#ConsoleParams)

* * *

### Описание<a name="description"></a>

**ANB Software Делитель Файлов** позволяет разделить файл на n-ое количество файлов заданного объема без архивации данных, а также потом собрать в единый файл, если вам понадобится.

Программа работает в двух режимах: 1) с помощью параметров командной строки; 2) интерактивный режим.

* * *

### ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ С КОНЕЧНЫМ ПОЛЬЗОВАТЕЛЕМ (EULA)<a name="license"></a>

(Версия 1.0)

#### ОПРЕДЕЛЕНИЯ

ANB Software File Splitter (далее "продукт") - программа и/или компонент программы и/или другое (игра, изображение, фильм и т.п.), на которое распространяется данное соглашение.

Конечный пользователь (далее "вы" или "пользователь") - лицо и/или организация, которое(-ая) использует продукт, предоставляемый под этой лицензией.

Александр Бабаев (далее "Производитель") - лицо и/или организация, которое(-ая) произвело продукт.

#### ОГРАНИЧЕНИЯ

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

В некоторых государствах (районах, областях, штатах) не позволяется исключение подразумеваемых гарантий. Если ваша страна (район, область, штат) не подразумевает исключение подразумеваемых гарантий, то данное соглашение не может применяться к вам. В этом случае откажитесь от использования продукта.

#### ПРЕДМЕТ СОГЛАШЕНИЯ

Данное соглашение заключается между Производителем продукта и Пользователем продукта. Данное соглашение определяет отношения между Производителем и Пользователем, возникающие при использовании продукта.

#### ЛИЦЕНЗИЯ

Продукт распространяется по принципу "AS-IS" ("КАК ЕСТЬ"). Автор не несет НИКАКОЙ ОТВЕТСТВЕННОСТИ в случае нанесения данной программой физического, материального или любого другого вреда вам и вашему компьютеру. Вы на свой страх и риск устанавливаете продукт. Производитель и/или Распространитель не несет(-ут) никакой ответственности за ошибки, неисправности (и т.п.), нанесенные продуктом вашему компьютеру.

Вы можете использовать данную программу на свое усмотрение, а также копировать и распространять со ссылкой на автора и сайт "https://babaev-an.ru/". Вам запрещается копировать, распространять продукт без ссылки на автора и указанный ранее сайт. Вам запрещается копирование и использование продукта, если устанавливаемая вами копия продукта не имеет ссылки на автора и указанный ранее сайт. Вам запрещается изменять содержимое продукта, разбирать, дизассемблировать и изменять продукт, использовать её компоненты в других программах без письменного соглашения Производителя, удалять или исправлять в продукте любые знаки о праве собственности и/или авторском праве на продукт.

ЕСЛИ ВЫ ЗАГРУЖАЕТЕ, КОПИРУЕТЕ ПРОДУКТ ИЛИ ИСПОЛЬЗУЕТЕ ЕГО КАКИМ-ЛИБО ДРУГИМ СПОСОБОМ, ЭТИМ ВЫ ПОДТВЕРЖДАЕТЕ СВОЕ СОГЛАСИЕ СОБЛЮДАТЬ УСЛОВИЯ ДАННОГО ЛИЦЕНЗИОННОГО СОГЛАШЕНИЯ С КОНЕЧНЫМ ПОЛЬЗОВАТЕЛЕМ. ЕСЛИ ВЫ НЕ СОГЛАСНЫ, НЕ УСТАНАВЛИВАЙТЕ, НЕ КОПИРУЙТЕ И НЕ ИСПОЛЬЗУЙТЕ ПРОДУКТ.

#### АВТОРСКОЕ ПРАВО

Авторское право на все копии продукта принадлежат Производителю и защищено законодательством РФ и ряда других стран.

#### ОГРАНИЧЕННАЯ ГАРАНТИЯ И ПРАВОВАЯ ОГОВОРКА

Вам не дается никаких гарантий. Все ваши возможные требования, притязания и претензии (в том числе и по качеству) будут НЕПРИЗНАННЫ.

#### ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ

Вам не дается никаких обязательств. Все ваши возможные требования будут НЕПРИЗНАННЫ.

* * *

### Как использовать: Разделение файлов<a name="split"></a>

Операция «Разделение файлов» служит для разбиения некоторого файла (далее, исходный файл) на n частей, заданного размера. Она требует следующих параметров:

*   `-fn="Имя файла"` - имя исходного файла.
*   `-td="Путь"` - папка, в которую будут сохранены части файла.
*   `-ps=«ЧИСЛО»>` - размер части файла в байтах.

В интерактивном режиме пользователь будет опрошен по каждому параметру.

Операция «Разделение файлов» может содержать следующие дополнительные параметры разбиения:

*   `/NoCheckHash` - не проверять части на совпадение с контрольными суммами.
*   `/DeleteSource` - после разбиения удаляется исходный файл.
*   `/EncryptInfoFile` - нужно ли шифровать файл информации. **ВНИМАНИЕ!** Включение этого параметра обязывает Вас при сборке указывать в дополнительных параметрах сборки параметр `/DecryptInfoFile`. В противном случае, вы словите **код возврата 3** при попытке собрать файл.

Параметры вводятся через пробел, как в режиме параметров командной строки, так и в интерактивномрежиме.

Например, нужно разбить файл `C:\myFiles\myBigFile.mp4` на файлы размером 10 МБайт и сохранить файлы разбиения в папку `C:\myFilesSplited\`, удалив исходник, зашифровав файл информации о разбиении и не выдавая пользователю никаких запросов. Тогда вы должны запустить программу следующим способом:

`FileSplitter split -fn="C:\myFiles\myBigFile.mp4" -td="C:\myFilesSplited" -ps=10485760 /DeleteSource /EncryptInfoFile --silent`

* * *

### Как использовать: Объединение файлов<a name="join"></a>

Операция «Объединение файлов» соединяет разбитый ранее с помощью операции «Разделения файла» файл. Она требует следующих параметров:

*   `-ifn="Имя файла"` - имя файла с информацией о разбиении.
*   `-tfn="Путь"` - файл, в который нужно собрать разбиение.

В интерактивном режиме пользователь будет опрошен по каждому параметру.

Операция «Объединение файлов» может содержать следующие дополнительные параметры сборки:

*   `/NoCheckHash` - не проверять части на совпадение с контрольными суммами.
*   `/DeleteSource` - после объединения удаляются файлы разбиения.
*   `/DecryptInfoFile` - нужно ли дешифровать файл информации. **ВНИМАНИЕ!** Включение этого параметра обязывает Вас при разбивке указывать в дополнительных параметрах разбиения параметр `/EncryptInfoFile`. В противном случае, вы словите **код возврата 3** при попытке собрать файл.
*   `/IgnoreVersion` - отключить проверку версии файла информации (НЕ РЕКОМЕНДУЕТСЯ).
*   `/SkipCheck` - отключить проверку собранного файла на соответствие оригиналу.

Параметры вводятся через пробел, как в режиме параметров командной строки, так и в интерактивномрежиме.

Например, нужно объединить файл, заданный информацией `C:\myFilesSplited\myBigFile.mp4.fsi`, в файл `C:\myFiles\myBigFile.mp4`, удалив файлы разбиения, дешифровав файл информации о разбиении и отключив проверку собранного файла на соответствие оригиналу. Тогда вы должны запустить программу следующим способом:

`FileSplitter join -ifn="C:\myFilesSplited\myBigFile.mp4.fsi" -tfn="C:\myFiles\myBigFile.mp4" /DeleteSource /DecryptInfoFile /SkipCheck`

* * *

### Как использовать: Параметры приложения<a name="options"></a>

Операция «Параметры приложения» позволяет настроить параметры приложения и работает **только в интерактивном режиме**. Она требует следующих параметров:

| Параметр 	|    Возможные значение    	|        Описание        	|      Пример      	|
|:--------:	|:------------------------:	|:----------------------:	|:----------------:	|
| language 	| Строка (имя файла языка) 	| Задаёт язык приложения 	| language=russian 	|

* * *

### Как использовать: Параметры консольной строки<a name="ConsoleParams"></a>

Для использования программы в режиме параметров командной строки запустите программу, передав параметры командной строки в формате:

`FileSplitter [ОПЕРАЦИЯ] [ПАРАМЕТРЫ ОПЕРАЦИИ] [ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ] [ТИХИЙ РЕЖИМ]`

ОПЕРАЦИЯ может принимать следующие значения:

*   `split` - выполнить [операцию разделения](#split).
*   `join` - выполнить [операцию объединения](#join).

ПАРАМЕТРЫ ОПЕРАЦИИ и ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ описаны в соответствующих разделах справки.

ТИХИЙ РЕЖИМ работает только в режиме параметров командной строки и включается указанием:

*   `--silent` - наличие этого параметра указывает, что не должны выдаваться никакие запросы пользователю (так называемый «Тихий режим»).

Для выключения тихого режима просто не указывайте этот параметр.