Sign in Join
FPDoc Onlineexperiment

RunCommandIndir function

In unit Process

Run a command in a specific directory.

Declaration

pascal
function RunCommandIndir(const curdir: TProcessString; 
 const exename: TProcessString; 
 const commands: Array of TProcessString = String; 
 out outputstring: string; 
 out exitstatus: Integer; 
 Options: TProcessOptions=[]; 
 SWOptions: TShowWindowOptions=swoNone): Integer

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).

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

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.