Назад към всички

powershell-safe-chain

// Chain PowerShell commands safely without &&. Use try/catch, ErrorAction, and proper sequencing for reliable Windows execution.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namepowershell-safe-chain
descriptionChain PowerShell commands safely without &&. Use try/catch, ErrorAction, and proper sequencing for reliable Windows execution.

PowerShell Safe Chain

Chain commands reliably on Windows PowerShell. No && anti-patterns.

Problem

PowerShell differs from bash:

  • && does NOT work for command chaining
  • Parameter parsing is case-insensitive but strict
  • Errors continue by default (no fail-fast)
  • Path separators vary (\ vs /)

Workflow

1. Safe Chaining Pattern

Wrong:

mkdir test && cd test && echo done

Right:

$ErrorActionPreference = 'Stop'
try {
    New-Item -ItemType Directory -Path test -Force
    Set-Location test
    Write-Host 'done'
} catch {
    Write-Error "Failed at step: $_"
    exit 1
}

2. Conditional Chaining

# If-then pattern
if (Test-Path $file) {
    Remove-Item $file
    Write-Host "Deleted"
} else {
    Write-Warning "File not found"
}

# Pipeline with error handling
Get-Process | Where-Object CPU -GT 100 | Stop-Process -WhatIf

3. Splatting for Complex Commands

$params = @{
    Path = $filePath
    Encoding = 'UTF8'
    Force = $true
}
Set-Content @params

Executable Completion Criteria

CriteriaVerification
No && in scriptsSelect-String '&&' *.ps1 returns nothing
ErrorAction setSelect-String 'ErrorAction' *.ps1 matches
try/catch present`Select-String 'try
Paths use Join-PathSelect-String 'Join-Path' *.ps1 matches

Privacy/Safety

  • No hardcoded credentials
  • Use [SecureString] for passwords
  • Environment variables via $env:VAR

Self-Use Trigger

Use when:

  • Writing any PowerShell script
  • Chaining 2+ commands
  • Executing file operations

Chain safely. Fail explicitly.