Wywoływanie skryptu PowerShell za pomocą argumentów z C #
Mam plik PowerShell zapisany w pliku. W Windows PowerShell wykonuję skrypt jako.\MergeDocuments.ps1 "1.docx" "2.docx" "merge.docx"
Chcę wywołać skrypt z C #. Obecnie używam Process.Start w następujący sposób, który działa doskonale:Process.Start(POWERSHELL_PATH, string.Format("-File \"{0}\" {1} {2}", SCRIPT_PATH, string.Join(" ", filesToMerge), outputFilename));
Chcę go uruchomić za pomocąPipeline
klasa, coś podobnego do poniższego kodu, ale nie wiem, jak przekazać argumenty (pamiętaj, że nie mam nazwanych argumentów, używam po prostu $ args)
<code>// create Powershell runspace Runspace runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); RunspaceInvoke runSpaceInvoker = new RunspaceInvoke(runspace); runSpaceInvoker.Invoke("Set-ExecutionPolicy Unrestricted"); // create a pipeline and feed it the script text (AddScript method) or use the filePath (Add method) Pipeline pipeline = runspace.CreatePipeline(); Command command = new Command(SCRIPT_PATH); command.Parameters.Add("", ""); // I don't have named paremeters pipeline.Commands.Add(command); pipeline.Invoke(); runspace.Close(); </code>