这个问题在精神上与Powershell command prompt prints ^C when pressing Ctrl+C, why?相关- 两者都处理被搞砸的 PowerShell 控制台。
给定:
- Windows 10 或 8 或 8.1
- 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。
就是这样。尝试使用控制台。如果没有任何反应 - 再次运行脚本,即使它不是必需的。控制台出现问题。
为什么?我该如何解决?
最佳答案
我相信是 -NoNewWindow
标志给您带来了麻烦。 iisexpress.exe 使用此开关从 Powershell 窗口内运行,似乎部分劫持了您的输入。
我仍然很好奇为什么会发生这种情况,目前还没有答案,但一个简单的解决方法是用 -WindowStyle hidden
替换 -NoNewWindow
关于windows - 破坏 PS 控制台的简单 PowerShell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43555211/