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

PowerShell查询WiFi密码脚本报错出现多余换行如何解决

WiFi密码查询PowerShell脚本多余换行问题修复

多余换行产生原因

你的脚本中Trap捕获异常时使用了Continue关键字,该配置会让脚本在执行完Trap内的逻辑后,继续运行异常触发点之后的剩余代码。
找不到指定WiFi时,$S = ($E | sls ($CmdL[2])).ToString().Trim()这行代码会因为sls返回空值调用ToString触发异常,Trap输出错误信息后,还会继续执行末尾的Write-Host语句,这就是多余换行的来源。

修复方法

方法1:修改Trap终止逻辑

直接把Trap中的Continue改为Break,捕获异常后直接终止后续代码执行,不会再运行末尾多余的Write-Host:

$CmdL = @("Command1", "Command2", "WIFI NAME")
Trap  [System.Management.Automation.RuntimeException] {
    Write-Color "No such WiFi exists" -Color "Red"
    Write-Host
    Break # 替换原来的Continue
}
$S = $Null
$E = Get-AllWifiPasswords
Write-Host
$S = ($E | sls ($CmdL[2])).ToString().Trim()
Write-Color $S -Color "Green"
Write-Host

方法2:增加非空判断避免异常(更推荐)

提前判断sls的匹配结果是否为空,从根源避免触发异常,逻辑更健壮:

$CmdL = @("Command1", "Command2", "WIFI NAME")
$S = $Null
$E = Get-AllWifiPasswords
Write-Host
$matchRes = $E | sls ($CmdL[2])
if ($null -ne $matchRes) {
    $S = $matchRes.ToString().Trim()
    Write-Color $S -Color "Green"
} else {
    Write-Color "No such WiFi exists" -Color "Red"
}
Write-Host

两种方法都可以实现你要的输出格式,错误场景下只会输出一个开头换行、错误提示、一个结尾换行,没有多余空行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:15:03