PowerShell 스크립트를 C# 애플리케이션에 통합하면 강력한 자동화 기능이 제공됩니다. 그러나 공백이 포함된 명령줄 인수를 처리하는 것은 까다로울 수 있습니다. 이 문서에서는 C#에서 PowerShell 스크립트를 실행하고 공백이 포함된 인수를 안정적으로 전달하는 강력한 방법을 보여줍니다.
인수를 직접 전달하는 일반적인 접근 방식은 공백이 있는 경우 실패하는 경우가 많습니다. 해결책은 PowerShell Command
및 CommandParameter
개체를 사용하여 인수 구성을 적절하게 관리하는 데 있습니다.
다음은 인수(공백 포함 포함)를 사용하여 C#에서 PowerShell 스크립트를 실행하는 세련된 접근 방식입니다.
Runspace
를 생성하여 PowerShell 실행 환경을 관리합니다.Command
개체를 만듭니다.CommandParameter
개체를 사용하여 인수를 추가합니다. 공백과 특수 문자를 올바르게 처리합니다. 각 CommandParameter
은 인수 이름과 해당 값을 사용합니다.Command
개체를 Pipeline
에 추가합니다.다음은 이러한 단계를 반영하는 개선된 코드 예제입니다.
<code class="language-csharp">RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); Pipeline pipeline = runspace.CreatePipeline(); // Path to your PowerShell script string scriptFile = "path/to/your/script.ps1"; // Create the Command object Command myCommand = new Command(scriptFile); // Add parameters with spaces handled correctly myCommand.Parameters.Add(new CommandParameter("key1", "value with spaces")); myCommand.Parameters.Add(new CommandParameter("key2", "another value")); // Add the command to the pipeline pipeline.Commands.Add(myCommand); // Invoke the pipeline and handle the results Collection<PSObject> results = pipeline.Invoke(); // Process the results as needed foreach (PSObject result in results) { // ... handle each result ... } runspace.Close();</code>
이 접근 방식을 사용하면 공백 포함 여부에 관계없이 명령줄 인수가 PowerShell 스크립트에 올바르게 전달되어 C#과 PowerShell 간의 원활한 통합이 가능해집니다. "path/to/your/script.ps1"
를 스크립트의 실제 경로로 바꾸는 것을 잊지 마세요.
위 내용은 C#에서 PowerShell 스크립트에 공백이 포함된 명령줄 인수를 어떻게 전달합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!