首页 >后端开发 >C++ >如何从 C# 将命令行参数传递给 PowerShell 脚本?

如何从 C# 将命令行参数传递给 PowerShell 脚本?

DDD
DDD原创
2025-01-23 23:01:13579浏览

How to Pass Command-Line Arguments to PowerShell Scripts from C#?

在 C# 中使用参数执行 PowerShell 脚本

要在 C# 中执行 PowerShell 脚本并提供命令行参数,您可以按照以下步骤操作:

  1. 配置 Runspace: 创建一个 RunspaceConfiguration 并使用它来实例化一个 Runspace 对象。此对象表示 PowerShell 运行时环境。
  2. 创建 PowerShell 命令: 使用 Command 构造函数将脚本文件路径转换为 Command 对象。
  3. 添加命令行参数: 使用 CommandParameter 构造函数为每个参数创建一个 CommandParameter。将这些参数添加到 Command 的 Parameter 集合中。
  4. 构建管道: 将 Command 对象添加到 Pipeline 的 Commands 集合中。
  5. 执行脚本: 调用 Pipeline 的 Invoke 方法来执行脚本并处理其输出。

代码示例:

<code class="language-csharp">// 配置和 Runspace
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

// 带参数的 PowerShell 命令
Command myCommand = new Command(scriptfile);
CommandParameter testParam = new CommandParameter("key", "value");
myCommand.Parameters.Add(testParam);

// 管道和执行
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(myCommand);
var results = pipeline.Invoke();</code>

通过遵循这些步骤,您可以有效地将命令行参数从 C# 传递到 PowerShell 脚本,并在参数值中正确处理空格。

以上是如何从 C# 将命令行参数传递给 PowerShell 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn