首页 > 解决方案 > Powershell管理模式下如何输出批处理文件的控制台?

问题描述

我正在尝试在 Powershell 中启动一个批处理文件(使用管理模式)。我需要将批处理文件的输出放在 Powershell 控制台中。

我可以使用管理员身份启动批处理文件

PS> Start-Process "C:\Scripts\Test.bat" -Verb runas

但是,输出不在 Powershell 中,而是在命令提示符本身中。

我试过以下命令直接启动命令提示符。结果是一样的。

PS> powerShell -Command "&{Start-Process 'cmd.exe' /c C:\Scripts\test.bat' -Verb runas}"

如果我尝试以下命令: PS> &C:\Scripts\test.bat

我将能够使用控制台输出运行批处理文件,但我将无法正确启动它,因为我需要管理权限。

有没有办法以管理权限启动批处理文件并在 Powershell 控制台中查看输出?

标签: powershellbatch-file

解决方案


您可以将批处理文件输出重定向到一个文件,然后在 Powershell 中显示它。

powerShell -Command "&{Start-Process 'cmd.exe' /c C:\Scripts\test.bat >outputfile' -Verb runas -Wait}"
get-content outputfile

推荐阅读