# Post-processors

Post-processors configuration section used to define external applications, which are starting after the completion of file transfer session and to define incoming file-boxes.

External Applications

Post-processors are the applications intended to do some job with received files after the session finishes. The examples of post-processors are echo tossers, netmail trackers, file-echo processors etc. To make a Post-processor starting after the session if particular files are received, you should specify the mask filter for those files (list of file masks or Regular Expressions, divided by space character) in "Mask list" field.

`%ARCMAIL%` special keyword is equivalent to ArcMail mask list (`*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?`).

Mask list | String to execute | Comment
*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? | c:\fido\lanius\squish.exe in out squash | Execute Squish echo-mail processor after receiving mail bundle
%ARCMAIL% | c:\fido\lanius\squish.exe in out squash | Execute Squish echo-mail processor after receiving mail bundle
*.tic | c:\fido\fileecho\allfix.exe file -tossbad | Execute Allfix file-echo processor after receiving TIC file

You may use the following prefix characters to change the visibility mode or priority level of an external application.

Question Mark character (“`?`”) before command/file name instructs to execute the process in hidden mode. Exclamation Mark character (“`!`”) instructs to execute the process in normal window mode. Detached mode can be used only for launching Win32 console applications. Double Question Mark (“`??`”) instructs to execute the process in DETACHED mode (without using console window) . An attempt to execute DETACHED Win3.1 or DOS application causes an error.

Processes can be launched with the following priority levels:

    <
| Low (`IDLE_PRIORITY_CLASS`)
    +
| High (`HIGH_PRIORITY_CLASS`)
    *
| Real-time (`REALTIME_PRIORITY_CLASS`)

Processes are executing with normal priority (`NORMAL_PRIORITY_CLASS`) in minimised window by default.

It is also possible to run an external application after the session with a particular node or a list of nodes. Just specify the node address or a mask in Mask List field. You can also specify a combination of addresses and file masks in a single field. The items of such a list are combined with logical OR operation.

## Incoming File-Boxes

Post-processors configuration section is also used to define incoming file-boxes. Argus makes possible to dispatch incoming files to several inbound directories, depending to remote's primary address or file name wildcard. Ampersand ('&') character, preceding the string of "String to execute" field of Config/Externals/Post-processors is used to define that the files with conditions (remote's primary address or file name wildcard) matched in "Mask list" field must be placed in the inbound directory defined after the '&' character rather than putting into Secure/Insecure inbound.

This is an example of moving files, received from points of node 2:469/59, to INPNT directory.

Mask list | String to execute
    2:469/59.*
    &INPNT

To moving files with overriding a file that is already stored in incoming file-box, use '`^`' character after ampersand character, e.g. `&^INPNT`.

Value of string of a incoming file-box path name may contain macros, representing primary address of remote system:

    %ZONE
| zone in decimal (1-4 decimal digits)
    %NET
| network in decimal (1-5 decimal digits)
    %NODE
| node in decimal (1-5 decimal digits)
    %POINT
| point in decimal (1-5 decimal digits)
    %HZONE
| zone in hex (3 hex digits)
    %HNET
| net in hex (4 hex digits)
    %HNODE
| node in hex (4 hex digits)
    %HPOINT
| point in hex (4 hex digits)
    %XZONE
| zone in radix-32 (2 radix-32 digits)
    %XNET
| net in radix-32 (3 radix-32 digits)
    %XNODE
| node in radix-32 (3 radix-32 digits)
    %XPOINT
| point in radix-32 (2 radix-32 digits)

Also, the following macros, representing current local date are allowed for incoming file-box path:

    %YEAR
| Year in decimal (4 digits).
    %MONTHN
| Month in decimal (2 digits), 1 = January, 2 = February, etc.
    %MONTHA
| Month in abbreviation (3 letters), Jan = January, etc.
    %MONTHS
| Month in short abbreviation (2 letters), Jn = January, etc.
    %DAY
| Day of month in decimal (2 digits).
    %DOWN
| Day of week in decimal (1 digit), 0 = Sunday, 2 = Monday, etc.
    %DOWA
| Day of week in abbreviation (3 letters), Sun = Sunday, etc.
    %DOWS
| Day of week in short abbreviation (3 letters), Su = Sunday, etc.
    %HOUR
| Hour in decimal (2 digits).
    %MINUTE
| Minute in decimal (2 digits).
    %SECOND
| Second in decimal (2 digits).

Note that launching external application or sorting incoming files to file-boxes, based on remote address, when address mask is listed, only occur on password-protected session.