On this Page

    Indirect Parameter Files (.prm files)

    As well as listing the command options directly on the command line, groups of them can be stored in special parameter files and referenced on the command line:

    ProgramName @myoptions.prm –option value – @mysecondoptions.prm —

    Any number of indirect parameter files can be specified. The use of these .prm files can simplify the setup of applications — such as Merge — which have large numbers of parameters. The .prm file is a plain text file in which each option/value pair set is listed on a separate line.

    Any line whose first real (non-whitespace) character is either a *, ;, or a [ is ignored (treated as a comment). Also, blank lines are ignored. As an example:

    * Test file for myform Merge
    *
    -form C:/DocOrigin/User/Forms/myform.xatw
    -data C:/DocOrigin/User/Forms/mydata.xml
    -output C:/DocOrigin/User/Output/myform.pdf

    Note that double-quotes around values with embedded blanks become optional in parameter files. The above note applies to simple name/value options. In situations of compound options such as the -filter option, values of sub-options, e.g. -split="^page 1", will need quoting.

    These command files can also include other command files by using the syntax @filename within an existing command file.

    Conditional PRM Files

    You may also use the syntax @@filename to reference an indirect .prm file. An @@ reference is conditional — if the file does not exist no error is reported, it is simply ignored. You will see these in many of the Default .prm files described below.

    Text Substitution

    (As of 3.1.002.04)

    Indirect files support a mechanism to create shorthand names for longer paths or other text that is often repeated within the files. The -define command is used for this purpose

    -define mypath c:/DocOrigin/User/Forms/Mytests
    
    -form {mypath}/myform.xatw
    -data {mypath}/mydata.xml
    -output {mypath}/myform.pdf

    Everywhere within the command file processing where a name is found between {braces} will be replaced by the text defined by an earlier -define statement. If the name within the braces is not found, the original text (and braces) will remain as-is.