Description
When creating and referencing property values:
-
If you use slash:
/
then most of the DOS scripts work fine when expanded, but other shells complain.
-
If you use backslash:
\
then the Perl scripts cancel them out entirely when they are expanded.
Solution 1
Keep all of your properties with forward slashes in them, like
ectool setProperty /myJob/forwardPath "c:/ea/scripts"
When you want to use it in Perl, use it directly.
If Perl is passing it to a Windows command through "system()", convert the slashes using Perl
s'/'\\'g;
Now for the tricky one, if you need it in a Windows command directly, use
dir $[/javascript myJob.forwardPath.replace(/\//g, '\\')]
Solution 2
Keep all of your properties with backslashes in them, like
ectool setProperty /myJob/ windowsPath "c:\ea\scripts"
When you want to use it in Perl, use:
my $windowsPath = "$[/javascript myJob.windowsPath.replace(/\\/g, '\\\\')]";
If you need it in a Windows command directly, use it directly.
When creating property names:
-
If you use square brackets/braces:
[]
then the property must be encapsulated in square brackets to avoid property sheet expansion.
This works for specific functions, such as creating a link on a job, but there are drawbacks. The property cannot be edited or deleted from the web interface. |
Solution
Keep all square brackets in a property name, like
ectool setProperty "/myJob/report-urls[This property name has [some square bracket] text in it]" "https://google.com"