[Overview][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'process' (#fcl)

# RunCommandIndir

Run a command in a specific directory.

## Declaration

Source position: processbody.inc line 180

`function RunCommandIndir(`
`const curdir: TProcessString;`
`const exename: TProcessString;`
`const commands: array of TProcessString;`
`out outputstring: string;`
`out exitstatus: Integer;`
`Options: TProcessOptions = [];`
`SWOptions: TShowWindowOptions = swoNone`
`):Integer; function RunCommandIndir(`
`const curdir: TProcessString;`
`const exename: TProcessString;`
`const commands: array of TProcessString;`
`out outputstring: string;`
`Options: TProcessOptions = [];`
`SWOptions: TShowWindowOptions = swoNone`
`):Boolean; function RunCommandInDir(`
`const curdir: TProcessString;`
`const cmdline: TProcessString;`
`out outputstring: string`
`):Boolean;`

## Arguments

`curdir` |  | Current working directory for the command.
`exename` |  | Executable to start.
`commands` |  | Command-line arguments for the executable.
`outputstring` |  | String to return the commands output.
`exitstatus` |  | On exit, contains the exit status of the process
`Options` |  | Options to use when running the command
`SWOptions` |  | Show window options for the process. Default value is swoNone.

## Function result

True if the command was started successfully (or zero in case of an integer return value).

## Arguments

`curdir` |  | Current working directory for the command.
`exename` |  | Executable to start.
`commands` |  | Command-line arguments for the executable.
`outputstring` |  | String to return the commands output.
`Options` |  | Options to use when running the command
`SWOptions` |  | Show window options for the process. Default value is swoNone.

## Arguments

`curdir` |  | Current working directory for the command.
`cmdline` |  | Filename of binary to start plus command-line arguments separated by whitespace
`outputstring` |  | String to return the commands output.

## Description

RunCommandInDir will execute binary exename with command-line options commands, setting curdir as the current working directory for the command. The Options are taken into consideration (poRunSuspended,poWaitOnExit are removed from the set). The output of the command is captured, and returned in the string OutputString. The function waits for the command to finish, and returns True if the command was started successfully, False otherwise. In the case where the return value is an integer, it is zero for success, and -1 on error.

If a ExitStatus parameter is specified the exit status of the command is returned in this parameter.

The version using cmdline attempts to split the command line in a binary and separate command-line arguments. This version of the function is deprecated.

## Errors

On error, False is returned.

## See also

TProcess |  | Class to start and control other processes.
RunCommand |  | Execute a command in the current working directory
TProcessOptions |  | Set of TProcessOption.