failure-powershell-foreach-pipeline · git:20260908.e9ac98d · 2026-09-08 · sha256 e0a0990e2ff34eba

failure-powershell-foreach-pipeline git:20260908.e9ac98dA

Immutable. This exact content is served forever at /api/v1/blob/e0a0990e2ff34eba.

---
name: failure-powershell-foreach-pipeline
description: Prevent PowerShell parser failures when checking a list with foreach and piping its output. Use whenever a verification command reports an empty pipe element around a foreach statement.
---

# PowerShell Foreach Pipeline

PowerShell `foreach (...) { ... }` is a statement and cannot be directly used as
the left side of a pipeline in the command form used here. Collect output first:

```powershell
$rows = foreach ($item in $items) {
  [pscustomobject]@{ Path = $item; Exists = Test-Path -LiteralPath $item }
}
$rows | Format-Table -AutoSize
```

Alternatively use `@(...)` around the loop when the command form permits it.
Before running a verification block, check that every `{` has one matching `}`
and prefer a simple command when the check does not need a loop. Do not
interpret a parser error as evidence about the files or processes being
checked. Fix the command syntax, rerun the same check, and record the result.