kannan
kannan

Reputation: 41

Powershell scripts invoked by C# application

I have this powershell script (test1.ps1) calling another powershell script(test2.ps1) to do the job.

Both scriptfiles are in the same folder

test1.ps1

echo "from test1.ps1"

.\test2.ps1

test2.ps1

echo "from test2.ps1"

When I invoke test1.ps1 in C# by creating runspace, adding commands to pipeline and invoking it, I get an error message saying "The term '.\test2.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again."

Upvotes: 3

Views: 512

Answers (1)

manojlds
manojlds

Reputation: 301527

Both the scripts might be in the same folder, but .\test2.ps1 will look for test2.ps1 in the same folder as the calling application, which is the C# app.

Have this in test.ps1:

$scriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
.$scriptdir\test2.ps1

Upvotes: 4

Related Questions