从C#调用powershell脚本时包含脚本不起作用

时间:2015-06-03 09:26:33

标签: c# powershell

我有一个power shell脚本,其中包含脚本,如下所示。

FaceDetection

从c#调用脚本时,我收到此错误

  

{术语' \ CheckPermissions.ps1'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查拼写   如果包含名称,或者包含路径,请验证路径是否正确   正确,然后再试一次。}

从PS窗口运行时,脚本运行正常。

从c#运行脚本时,$ PSScriptRoot变量是否可用?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用以下命令获取脚本目录:

$scriptDir = Split-Path $script:MyInvocation.MyCommand.Path

请注意,返回的文件夹路径将以反斜杠(\)结束。

答案 1 :(得分:0)

尝试以下代码

$scriptpath = "your second file path"
$psContent = @(Get-Content $scriptPath)
[string]$psCmd = $psContent -join "`n"
$secondscriptoutput = iex $psCmd
$secondscriptoutput #output returned by second file

从c#代码调用ps脚本时,Myinvocation不起作用。如果它适合您,请将其标记为答案。谢谢!