The project is written in C and has a small codebase. This program is designed for file packing and unpacking operations, and it is currently available exclusively for Windows. However, I would greatly appreciate a cross-platform fork of this project.
The binary file format used by this program consists of the following elements:
- Separator (1 byte): A single byte used as a separator between records.
- File Name (256 bytes): The name of the recorded file, stored in 256 bytes.
- Data Size (8 bytes): The size of the recorded file's data, stored in 8 bytes.
- Data (n bytes): The actual data of the recorded file. The number of bytes is determined by the value stored in the "Data Size" field.
The program supports the following command-line parameters:
--pack
or--unpack
(assigned to theaction
variable): This parameter determines whether the program should execute a packing operation (--pack
) or an unpacking operation (--unpack
). It does not accept any additional parameters.--name
(assigned to thename
variable): This option requires one parameter and specifies a name to be stored in thename
variable. This option should not be used when performing an unpacking operation.--erase
(assigned to theerase
variable): This parameter indicates that the program should perform a file deletion operation. It does not accept any additional parameters.--dir
(assigned to thedir
variable): This parameter requires one parameter and specifies the directory where the operation should be executed. The result is stored in thedir
variable.--filter
(assigned to thefilter
variable): This parameter requires one parameter and specifies a filter or condition for the operation. The result is stored in thefilter
variable.
Please note the following regarding command-line usage:
- When using the
--dir
parameter, you must provide a full path to the directory (e.g.,D:/Folder1/Folder2/
). - You can also simply drag and drop files onto the executable
Quick-Packer.exe
to perform packing and unpacking operations. - If you run the program without specifying any parameters, no action will be taken.
- If you provide the full path to the file(s), the
--dir
parameter should not be used. - You can also use parameter abbreviations, such as
-p
for--pack
, and so on.
Here are examples of how to use the command-line parameters:
Quick-Packer --pack --name SpritePack --dir C:/path/to/file/ --filter png
Quick-Packer -p C:/path/to/files/file.txt
Quick-Packer -u -d C:/path/to/file/ -e -f SpritePack1
Quick-Packer C:/path/to/files/file1.txt C:/path/to/files/file2.txt C:/path/to/files/file3.txt
Quick-Packer -u
Tip - it can be used in conjunction with various libraries, for example, to upload photos using stb-image, or to upload audio files using PortAudio.