separate_arguments¶
Parse command-line arguments into a semicolon-separated list.
separate_arguments(<variable> <mode> <args>)
Parses a space-separated string <args>
into a list of items,
and stores this list in semicolon-separated standard form in <variable>
.
This function is intended for parsing command-line arguments.
The entire command line must be passed as one string in the
argument <args>
.
The exact parsing rules depend on the operating system.
They are specified by the <mode>
argument which must
be one of the following keywords:
UNIX_COMMAND
- Arguments are separated by by unquoted whitespace.
Both single-quote and double-quote pairs are respected.
A backslash escapes the next literal character (
\"
is"
); there are no special escapes (\n
is justn
). WINDOWS_COMMAND
- A Windows command-line is parsed using the same syntax the runtime library uses to construct argv at startup. It separates arguments by whitespace that is not double-quoted. Backslashes are literal unless they precede double-quotes. See the MSDN article Parsing C Command-Line Arguments for details.
NATIVE_COMMAND
- Proceeds as in
WINDOWS_COMMAND
mode if the host system is Windows. Otherwise proceeds as inUNIX_COMMAND
mode.
separate_arguments(<var>)
Convert the value of <var>
to a semi-colon separated list. All
spaces are replaced with ‘;’. This helps with generating command
lines.