1

Use case
I need to call/utilize two different versions of terraform.exe in the command line.

Why?
Terraform version 0.12 behaves very differently from Terraform 0.11.
I need to utilize both versions because some of my repos use v0.12, while others still use v0.11.

Question
How can call either version from CMD?

Example CMD

C:\Program Files\Terraform>terraform11 -version
Terraform v0.11.14

C:\Program Files\Terraform>terraform12 version
Terraform v0.12.20
Terry
  • 51
  • 5

1 Answers1

3

Put the different .exe versions in two different sub-directories:
C:\Program Files\Terraform\v011
C:\Program Files\Terraform\v012

Put the above directory paths into the 'Path' environment variable.
Reference: How to add a folder to `Path` environment variable in Windows 10 (with screenshots)

Rename the the .exe files using POWERSHELL.

#Rename v0.11 terraform.exe to 'terraform11'
PS C:\> cd 'C:\Program Files\Terraform\v011'
PS C:\Program Files\Terraform\v011> Rename-Item .\terraform.exe -NewName "terraform11.exe" 

#Rename v0.11 terraform.exe to 'terraform12'
PS C:\Program Files\Terraform\v011> cd 'C:\Program Files\Terraform\v012'
PS C:\Program Files\Terraform\v012> Rename-Item .\terraform.exe -NewName "terraform12.exe"

Reference: https://superuser.com/questions/936294/how-to-rename-an-executable-from-its-details

Now, using CMD..
Call 'terraform12' to execute terraform v0.12.
Call 'terraform11' to execute terraform v0.11.

C:\>terraform12 -version
Terraform v0.12.20

C:\>terraform11 -version
Terraform v0.11.14

Your version of Terraform is out of date! The latest version
is 0.12.20. You can update by downloading from www.terraform.io/downloads.html
Terry
  • 51
  • 5