# Okapi Framework - Steps ## External Command Step
- Overview - Parameters |
Steps | Developer's Guide | Okapi Framework

If you are using an Okapi Tool after the M9 release, you should be using the wiki online help:
http://www.opentag.com/okapi/wiki/index.php?title=External_Command_Step

## Overview

This step runs a given external command on a raw document.

Takes: Raw document
Sends: Raw document

## Parameters

Command line -- Enter the command-line to use. The command line must use the input and output provided through the variables `${inputPath}` and `${outputPath}`. You can use the following variables in the command line:

Variable | Description | Example
--- | --- | ---
`${inputPath}` | The full path of the input document. |
`${outputPath}` | The full path of the output document. |
`${srcLangName}` | English name of the language part of the source locale identifier | For "`de-ch`" this returns "`German`"
`${trgLangName}` | English name of the language part of the target locale identifier. | For "`ja-jp`" this returns "`Japanese`"
`${srcLang}` | Code of the language part of the source locale identifier. | For "`de-ch`" this returns "`de`"
`${trgLang}` | Code of the language part of the target locale identifier. | For "`ja-jp`" this returns "`ja`"
`${rootDir}` | The root directory for this project/batch | In Rainbow: the parameters folder.

Example: The following Windows command sorts the input files and create the corresponding output files.

    cmd /C "sort ${inputPath} /O ${outputPath}"

Timeout -- Enter the number of seconds after which the command must be timeout. Enter -1 for no timeout.