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

PowerShell中ForEach循环内Write-Host $_无输出原因咨询

问题原因与修复方案

你的代码无输出(仅打印空行)的核心原因是:ForEach ($e in $ll)这种枚举循环语句中,自动变量$_不会绑定当前循环的元素。

$_(也可写为$PSItem)主要用于管道场景,比如$ll | ForEach-Object { Write-Host $_ },这种管道里的ForEach-Object cmdlet会自动将当前遍历的元素赋值给$_。但你用的是PowerShell的foreach循环语句(关键字形式),这种场景下循环元素只会存储在你显式定义的变量$e中,$_不会被自动赋值——此时它的值要么是之前上下文残留的空值,要么未定义,所以Write-Host $_只会输出空行。

修复后的代码

$ll = @("a","b","c"); ForEach ($e in $ll) {Write-Host $e}

如果你想继续用$_,也可以改用管道式的ForEach-Object:

$ll = @("a","b","c"); $ll | ForEach-Object {Write-Host $_}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:50:22