Difference between revisions of "Truxton file export set option"
Jump to navigation
Jump to search
(Created page with "This gives you the ability to specify the output format to export from Truxton. =Syntax= <source lang="C"> void truxton_file_export_set_option(uint64_t export_handle, uint64_...") |
|||
| Line 21: | Line 21: | ||
==<code>TRUXTON_EXPORT_FILE_OPTION_NAME_FORMAT</code>== | ==<code>TRUXTON_EXPORT_FILE_OPTION_NAME_FORMAT</code>== | ||
The format of the names of files to export. | The format of the names of files to export. | ||
| + | If you don't set this, the original name of the file will be used to export. | ||
| + | However, you can specify a format string. | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Field | ||
| + | ! Meaning | ||
| + | |- | ||
| + | | <code>{hash}</code> | ||
| + | | The MD5 hash of the file's contents. | ||
| + | |- | ||
| + | | <code>{name}</code> | ||
| + | | The original name of the file. | ||
| + | |} | ||
==<code>TRUXTON_EXPORT_FILE_OPTION_FOLDER</code>== | ==<code>TRUXTON_EXPORT_FILE_OPTION_FOLDER</code>== | ||
Revision as of 11:30, 3 December 2020
This gives you the ability to specify the output format to export from Truxton.
Contents
Syntax
void truxton_file_export_set_option(uint64_t export_handle, uint64_t option, char const * value);
Parameters
export_handle
The handle to an export instance created by the truxton_file_export_create() call.
option
Which option to set.
value
The string representation of the option.
Options
The following are the possible options to set.
TRUXTON_EXPORT_FILE_OPTION_NAME_FORMAT
The format of the names of files to export. If you don't set this, the original name of the file will be used to export. However, you can specify a format string.
| Field | Meaning |
|---|---|
{hash}
|
The MD5 hash of the file's contents. |
{name}
|
The original name of the file. |
TRUXTON_EXPORT_FILE_OPTION_FOLDER
The folder where exported files should be written.
TRUXTON_EXPORT_FILE_OPTION_TAR
The name of the tar file to write to. This is an optional parameter. If you don't set this, files will be written to the destination folder.
Sample
#include "TruxtonCAPI.h"
#pragma comment(lib, "TruxtonCAPI.lib")
#include "filetypes.h"
#include <stdlib.h>
#pragma hdrstop
int main()
{
char temporary_string[256];
truxton_start();
uint64_t truxton = truxton_create();
uint64_t export_handle = truxton_file_export_create(truxton);
// We want a variety of file types
sprintf_s(temporary_string, sizeof(temporary_string), "%d, %d, %d", Type_JPEGWithExif, Type_JPEG, Type_GIF);
truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_TYPE, temp_string);
// We only want files where the MD5 hash starts with "e4"
truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_HASH, "e4");
// We want a file that is at least 4MB long
truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_SIZE_MINIMUM, "4194304");
// We want a file that is no larger than 5MB
truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_SIZE_MAXIMUM, "5242880");
// Limit the output to a single file
truxton_file_export_add_criteria(export_handle, TRUXTON_EXPORT_FILE_QUERY_FIELD_LIMIT, "1");
truxton_file_export_where_clause(export_handle, temporary_string, sizeof(temporary_string));
printf( "Will use the following WHERE clause to select files: %s\n", temporary_string);
// Rename the file being exported to include the hash before the original name
truxton_file_export_set_option(export_handle, TRUXTON_EXPORT_FILE_OPTION_NAME_FORMAT, "{hash}_{name}");
// The files should be output to a particular folder
truxton_file_export_set_option(export_handle, TRUXTON_EXPORT_FILE_OPTION_FOLDER, "C:\\temp");
// We want them output to a TAR file in that particular folder
truxton_file_export_set_option(export_handle, TRUXTON_EXPORT_FILE_OPTION_TAR, "JPGWithExif.tar");
// Go find the files and output them to C:\temp\JPGWithExif.tar
truxton_file_export_execute(export_handle);
// Clean up
truxton_file_export_destroy(export_handle);
truxton_destroy(truxton);
truxton_stop();
}