这个问题在本质上与 Powershell command prompt prints ^C when pressing Ctrl+C, why? 相关 - 两者都处理 PowerShell 控制台被搞砸。
鉴于:
考虑以下脚本:
$iisexpress = "C:\Program Files (x86)\IIS Express\iisexpress.exe"
$config = "c:\xyz\.vs\config\applicationhost.config"
$logFile = "$env:temp\1.log"
$id = (Start-Process $iisexpress "/site:Site1","/config:$config" -PassThru -RedirectStandardOutput $logFile -NoNewWindow).Id
$id
我不认为这里有解决方案特定的配置很重要。重要的是我正在启动一个站点,同时重定向输出并收集进程 ID。
就是这样。尝试使用控制台一点。如果没有任何 react - 再次运行脚本,即使它不是必需的。控制台很烂。
为什么?我如何解决它?
最佳答案
我相信是 -NoNewWindow
标志给你带来了麻烦。 iisexpress.exe 使用此开关从 Powershell 窗口内运行,似乎部分劫持了您的输入。
我仍然很想调查为什么会发生这种情况并且目前还没有答案,但一个简单的解决方法是用 -NoNewWindow
替换 -WindowStyle hidden
关于windows - 一个简单的 PowerShell 脚本,可破坏 PS 控制台,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43555211/