在PowerShell中,此命令:Invoke-Item D:\myFile.txt
将打开名为myFile
的文件。
我尝试从C#运行 PowerShell命令
我试过了:
System.Management.Automation
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript("Invoke-Item D:\tx.txt");
PowerShellInstance.Invoke();
}
但这不会打开文件
答案 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命名空间中。