【问题标题】:Powershell scripts invoked by C# applicationC# 应用程序调用的 Powershell 脚本
【发布时间】:2011-10-24 10:56:46
【问题描述】:

我有这个 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、函数、脚本文件或可运行程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径正确,然后重试。”

【问题讨论】:

  • 请显示您用来调用脚本的代码。

标签: c# scripting powershell pipeline runspace


【解决方案1】:

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

在 test.ps1 中有这个:

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

【讨论】:

    猜你喜欢
    • 2011-01-28
    • 2013-01-08
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 2023-03-21
    • 2020-10-09
    • 2016-03-22
    • 2018-07-22
    相关资源
    最近更新 更多