2014-02-10 24 views
1

我想使用powershell执行一个外部命令,而不需要弹出第二个程序,我需要在同一PowerShell窗口内执行此程序并输出日志和错误。 我从这开始:PowerShell在同一窗口中执行外部命令

$outcome = Start-Process -Wait -FilePath "cmd.exe" -ArgumentList "dir" -NoNewWindow 2>&1 
$outcome 

但它不能按预期工作。我仍然看到用DOS弹出的新窗口,并且根本没有关于输出,错误等等的重定向。 我做错了什么?

+0

您可以使用'Invoke-Expression'来代替吗? – arco444

+0

是的,我可以,但我发现的所有例子都是开始 - 处理相关... – Raffaeu

回答

4

这是否适合您?

$outcome = Invoke-Expression "cmd.exe /c dir" 
$outcome 
+0

是的,完美!谢谢 – Raffaeu