--- description: Windows 终端优先使用 pwsh(PowerShell 7+),避免旧版 powershell.exe alwaysApply: true --- # PowerShell:优先 pwsh 在 **Windows** 上需要跑 PowerShell 命令或脚本时,**优先使用 `pwsh`**(PowerShell 7+ 可执行文件),不要用旧版 **`powershell.exe`**(Windows PowerShell 5.1),除非用户明确要求兼容 5.1。 ## 执行方式 - 直接开 PowerShell 会话或让用户在本机执行时:写 **`pwsh`**,不要写 **`powershell`**。 - 单次内联执行:可用 `pwsh -NoProfile -Command "..."` 或 `pwsh -File script.ps1`。 - 若环境未安装 `pwsh`,再回退到 `powershell`,并在回复里说明依赖 5.1 或建议安装 [PowerShell](https://github.com/PowerShell/PowerShell/releases)。 ## 语法提示 - `pwsh` 支持 `&&`、`||` 等操作符;与 5.1 行为不一致时以 **7+** 为准编写命令。 - 设置工作目录优先用:`Set-Location '路径'` 或 `cd '路径'`;不要用 CMD 的 `cd /d`。 ## 反例 / 正例 ```powershell # ❌ 默认指向旧版 powershell -Command "Get-ChildItem" # ✅ 优先 pwsh -NoProfile -Command "Get-ChildItem" ```