Regular Expression Filters - 2023 Release

Note: Print Distributor has now been discontinued.

2 January 2023

We have just released version 2023-01-02 which includes the following new features:

New template filters regex and regexi support search and replace on variables using regular expressions.

?? DocumentName | regex "^([A-Za-z]*) ", "$1_" ??

The first parameter is the regular expression and the second is the replacement. In this case we can use regexi to make it case insensitive.

?? DocumentName | regexi "^([a-z]*) ", "$1_" ??

These filters use the .Net regular expression engine.

Run Program now supports piping stdout to a named variable. Set the Pipe standard output to property to Variable and set the Variable name property to the name of the variable. You can then use the variable in templates in following actions.

Templates now support verbatim strings via the @ character.

String parameters to filters in the template system use the backslash to escape characters such as the double quote. In order include a backslash you need to escape it itself.

?? "Yes\\No" ??

In addition to this the regex and dateformat filters also require escaping for the backslash. This double escaping can make editing these parameters messy.

?? now | dateformat "yyyy\\\\MM\\\\dd" ??

Verbatim strings can simplify this:

?? now | dateformat @"yyyy\\MM\\dd" ??

Previous versions of Print Distributor used WMI to query the host for various bits of system information as well as adding and configuring TCP/IP printer ports. This created a number of support issues as it seems WMI is broken on a significant number of machines. We would get dragged into resolving issues that had very little to do with Print Distributor. This release removes all the WMI code and relies purely on win32 calls for these tasks.

There is some improved error handling in the datetime filter which should make it easier to configure.

We have dropped support for the 32-bit editions of Windows.

As always this is a free update for users with version 5.0 and later.

Posts