External tools allow you to configure and run programs, batch files, Ant buildfiles, and others using the Workbench. You can save these external tool configurations and run them at a later time.
Output from external tools is displayed in the Console view.
You can add external tools as part of the build process for a project. These external tools will run in the specified order every time a project is built.
The following variables are available when you configure an external tool. These variables are automatically expanded each time the external tool is run.
| Variable Name | Description | 
|---|---|
| ${workspace_loc} | The absolute path on the system's hard drive to Eclipse's workspace directory | 
| ${workspace_loc:<resource path>} | The absolute path on the system's hard drive to the specified resource. The <resource path> is the full path of the resource relative to the workspace root. For example ${workspace_loc:/MyProject/MyFile.txt}. Note that the expanded result of this variable is not the same as ${workspace_loc}/MyProject/MyFile.txt if the project's contents directory for MyProject is outside the workspace directory. | 
| ${project_loc} | The absolute path on the system's hard drive to the currently selected resource's project or to the project being built if the external tool is run as part of a build. | 
| ${project_loc:<resource path>} | The absolute path on the system's hard drive to the specified resource's project. The <resource path> is the full path of the resource relative to the workspace root. For example ${workspace_loc:/MyProject/MyFile.txt}. Note that the expanded result of this variable is not the same as ${workspace_loc}/MyProject if the project's contents directory for MyProject is outside the workspace directory. | 
| ${container_loc} | The absolute path on the system's hard drive to the currently selected resource's parent (either a folder or project). | 
| ${container_loc:<resource path>} | The absolute path on the system's hard drive to the specified resource's parent (either a folder or project). The <resource path> is the full path of the resource relative to the workspace root. For example:${workspace_loc:/MyProject/MyFolder/MyFile.txt}. Note that the expanded result of this variable is not the same as ${workspace_loc}/MyProject/MyFolder if the project's contents directory for MyProject is outside the workspace directory. | 
| ${resource_loc} | The absolute path on the system's hard drive to the currently selected resource. | 
| ${resource_loc:<resource path>} | The absolute path on the system's hard drive to the specified resource. The <resource path> is the full path of the resource relative to the workspace root. For example ${workspace_loc:/MyProject/MyFile.txt}. Note that the expanded result of this variable is not the same as ${workspace_loc}/MyProject/MyFile.txt if the project's contents directory for MyProject is outside the workspace directory. | 
| ${project_path} | The full path, relative to the workspace root, of the currently selected resource's project or of the project being built if the external tool is run as part of a build. | 
| ${container_path} | The full path, relative to the workspace root, of the currently selected resource's parent (either a folder or project). | 
| ${resource_path} | The full path, relative to the workspace root, of the currently selected resource. | 
| ${project_name} | The name of the currently selected resource's project or of the project being built if the external tool is run as part of a build. | 
| ${container_name} | The name of the currently selected resource's parent (either a folder or project). | 
| ${resource_name} | The name of the currently selected resource. | 
| ${build_type} | The kind of build when the external tool is run as part of a build. The value can be one of "full", "incremental", or "auto". If the external tool is run outside of a build, the value is then "none". | 
Lets assume your Eclipse workspace directory is c:\eclipse\workspace and you have two projects,
  MyProject1 and MyProject2. The first project, MyProject1, is located inside
  the workspace directory, the second project, MyProject2, is located outside the workspace directory at
  c:\projects\MyProject2. Lets look at how the variable examples below will be expanded when an external
  tool is run, if the resource /MyProject2/MyFolder/MyFile.txt is selected.
| Variable Example | Expanded Results | 
|---|---|
| ${workspace_loc} | c:\eclipse\workspace | 
| ${workspace_loc:/MyProject1/MyFile.txt} | c:\eclipse\workspace\MyProject\MyFile.txt | 
| ${workspace_loc:/MyProject2/MyFile.txt} | c:\projects\MyProject2\MyFile.txt | 
| ${project_loc} | c:\projects\MyProject2 | 
| ${project_loc:/MyProject1/MyFile.txt} | c:\eclipse\workspace\MyProject | 
| ${container_loc} | c:\projects\MyProject2\MyFolder | 
| ${resource_loc} | c:\projects\MyProject2\MyFile.txt | 
| ${project_path} | /MyProject2 | 
| ${container_path} | /MyProject2/MyFolder | 
| ${resource_path} | /MyProject2/MyFolder/MyFile.txt | 
| ${project_name} | MyProject2 | 
| ${container_name} | MyFolder | 
| ${resource_name} | MyFile.txt | 
| ${build_type} | none |