通过c#从PowerShell打开文件

时间:2018-04-09 05:34:41

标签: c# powershell

在PowerShell中,此命令:Invoke-Item D:\myFile.txt将打开名为myFile的文件。

我尝试从C#运行 PowerShell命令

我试过了:

NuGet:System.Management.Automation

using (PowerShell PowerShellInstance = PowerShell.Create())
            {

                PowerShellInstance.AddScript("Invoke-Item D:\tx.txt");
                PowerShellInstance.Invoke();              
            }

但这不会打开文件

1 个答案:

答案 0 :(得分:-1)

您可以使用此代码:

 Process process = new Process();
 string scriptPath = $"YourPowershellCommand.ps1";
 ProcessStartInfo startInfo = new ProcessStartInfo
 {
     FileName = scriptPath,
     RedirectStandardError = true;
     RedirectStandardOutput = true;
     CreateNoWindow = true;
     UseShellExecute = false
  };
  process.StartInfo = startInfo;
  process.Start();
  var stderrx = process.StandardError.ReadToEnd();
  var stdout = process.StandardOutput.ReadToEnd();

  process.WaitForExit();

只需将您的powershell命令保存在ps1文件中,并将路径作为参数提供。代码未经过测试但应该可以使用。此外,C#进程也在System.Diagnostics命名空间中。