You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在CMD中使用start /wait运行PowerShell选择脚本功能异常如何解决

问题解决方法

你遇到的问题和CMD无关,是PowerShell代码本身存在语法错误,加上调用方式的小问题导致的,具体修复方案如下:

1. 核心语法错误修复

你代码里的switch ('$result')使用了单引号包裹变量,PowerShell中单引号不会解析内部变量,相当于你一直在匹配字符串$result和数字0-5,永远匹配不上,自然不会执行对应逻辑。把单引号去掉,改成switch ($result)即可。

2. 脚本头调整

你开头的powershell.exe Set-ExecutionPolicy -ExecutionPolicy Bypass是多余的,而且会额外启动一个PowerShell进程,如果你是怕执行策略限制,可以在批处理调用PowerShell的时候直接加参数设置进程级的执行策略,不会影响系统全局配置。

3. 批处理调用方式修正

你不需要用start /wait,直接在批处理里调用PowerShell执行脚本就会自动等待运行结束,调用命令示例:

powershell.exe -ExecutionPolicy Bypass -File "你的脚本完整路径.ps1"

如果确实需要用start命令(比如要单独开窗口),可以改成:

start /wait powershell.exe -ExecutionPolicy Bypass -File "你的脚本完整路径.ps1"

修复后的完整PowerShell脚本代码

#Main Choice Script
$IP = New-Object System.Management.Automation.Host.ChoiceDescription '&Edit IP', 'Change IP Address'
$Intro= New-Object System.Management.Automation.Host.ChoiceDescription '&Change Introscreen', 'Change Introscreen'
$Gecko = New-Object System.Management.Automation.Host.ChoiceDescription '&Replace Gecko', 'Change Gecko Folder'
$PCName = New-Object System.Management.Automation.Host.ChoiceDescription '&Host Name', 'Fix Host Name'
$Firewall = New-Object System.Management.Automation.Host.ChoiceDescription '&Firewall Settings', 'Fix Firewall Setting'
$Close = New-Object System.Management.Automation.Host.ChoiceDescription '&Close', 'Exit'

$options = [System.Management.Automation.Host.ChoiceDescription[]]($IP,$Intro,$Gecko,$PCName,$Firewall,$Close)

$title = 'IT Tool'
$message = 'What do you want to do?'
$result = $host.ui.PromptForChoice($title, $message, $options,-1)

switch ($result)
{
    0 { "IP" }
    1 { "Intro" }
    2 { "Gecko" }
    3 { "PCName" }
    4 { "Firewall" }
    5 { "Close" }
}
# 如果你需要运行完对应逻辑后暂停看结果,可以取消下面这行注释
# Read-Host "Press enter to exit"

补充说明

$host.ui.PromptForChoice本身就支持纯文本交互,在CMD启动的PowerShell控制台里可以正常使用,不需要图形化环境,按选项前面高亮的字母或者对应数字都可以正常选择。

内容的提问来源于stack exchange,提问作者dweaver829

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:06:03