Minecraft服务器PowerShell脚本ReadKey方法调用报错求助
解决PowerShell中
ReadKey方法未实现的报错 问题原因
$Host.ui.RawUI.ReadKey在部分PowerShell环境(如非交互式终端、远程会话、容器环境)中不被支持,会触发「方法未实现」的异常。
替代解决方案
将报错的代码行替换为以下任意一种兼容写法:
方案1:使用通用控制台读取方法
[Console]::ReadKey($true) > $null
参数$true实现原代码的NoEcho效果,不会显示按下的按键。
方案2:环境兼容判断
保留原逻辑的同时适配不同环境:
if ($Host.Name -eq 'ConsoleHost') { $Host.ui.RawUI.ReadKey("NoEcho,IncludeKeyDown") > $null } else { # 非控制台环境下用延时替代按键等待 Start-Sleep -Seconds 3 }
方案3:简化按键等待逻辑
如果不需要严格的无回显效果,可改用:
Read-Host "按任意键继续..." > $null
验证方式
替换代码后重新运行start.ps1,确认异常不再抛出且脚本等待逻辑正常执行。
内容的提问来源于stack exchange,提问作者MannyTheXanny
相关产品推荐
相关产品推荐

