Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: Tim MeagherHey,
As far as I am aware this isn't possible.
The {{^^}} syntax is used to directly substitute the value of a parameter into the contents of another parameter (in this case a BRAINscript parameter).
When this textual substitution is done, then the substituted text must conform to the syntax of the BRAINscript parameter.
One option would be to add additional escapes into your filename, e.g specify c:\\Users\\xyz\\Documents\\...
If you really need to output the value of a parameter and adding extra escapes isn't an option, you could do this in a Python or Java node.
When you are using the Python and Java nodes, you can then use the properties object which will evaluate the parameters value, and return this as a String - meaning that you do not need to use the direct textual substitution mechanism.
However, on the node where you are evaluting the parameter, it needs to have a Runtime Property Name set in its parameter declaration.
This means that if you define the File parameter on a composite node, or on a graph level parameter, and within that composite or graph you want to output it's value on an output pin (and you can't use BRAINscript due to the escape characters), then you will need to redeclare this parameter on the Python or Java node, and set it's runtime property name.
As an example, I've attached a graph which shows how this can be done using the Python & Java nodes, just outputting the File parameter, which is defined with a Runtime Property Name of "ls.brain.node.file".
If you want to have this in something like a filter, whereby you are just appending the filename to all of the input records, then you can easily do this with a Python Filter node, an example of which is also shown in the attached graph.
Hope this helps,
Tim.
Attachments:
parametersExample.brg