由C#应用程序调用的Powershell脚本

时间:2011-08-10 20:43:14

标签: c# scripting powershell pipeline runspace

我有这个powershell脚本(test1.ps1)调用另一个PowerShell脚本(test2.ps1)来完成这项工作。

两个脚本文件都在同一个文件夹中

test1.ps1

echo "from test1.ps1"

.\test2.ps1

test2.ps1

echo "from test2.ps1"

当我通过创建运行空间在C#中调用test1.ps1,向管道添加命令并调用它时,我收到一条错误消息说 “术语'。\ test2.ps1'未被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是正确的,然后再试一次。“

1 个答案:

答案 0 :(得分:4)

这两个脚本可能位于同一个文件夹中,但.\test2.ps1将在与调用应用程序相同的文件夹中查找test2.ps1,即C#应用程序。

在test.ps1中有这个:

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