Take the 2-minute tour ×

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

Both scriptfiles are in the same folder


echo "from test1.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."

share|improve this question
Please show the code you use to invoke the scripts. –  John Saunders Aug 10 '11 at 21:04

1 Answer 1

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
share|improve this answer

Your Answer


