powershell-windows

PowerShell Windows 模式。关键陷阱、运算符语法、错误处理。

作者

安装

热度:2

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-powershell-windows&locale=zh&source=copy

PowerShell Windows 脚本规范

帮助 AI 代理编写符合 Windows PowerShell 最佳实践的脚本,掌握关键语法规则、避免常见陷阱。

适用场景

  • Windows 自动化脚本开发:为 Windows 服务器管理、批量文件操作、系统维护任务编写可靠脚本,避免因语法错误导致的执行失败。
  • PowerShell 脚本调试与优化:快速定位和修复脚本中的常见问题,如逻辑运算符缺少括号、JSON 输出截断、空值引用错误等。
  • 跨团队脚本规范制定:为团队提供统一的 PowerShell 编码标准,确保脚本可读性、可维护性和跨平台兼容性。
  • 核心功能

  • 语法规则检查:强制执行 PowerShell 特有的语法规范,包括逻辑运算符必须使用括号包裹 cmdlet 调用、脚本中仅使用 ASCII 字符(禁止 Emoji/Unicode)、正确的字符串插值格式。
  • 常见错误预防:自动识别并提醒开发者避免典型陷阱,如 JSON 转换时必须指定 -Depth 参数、空对象访问前必须进行 null 检查、文件路径应使用 Join-Path 而非字符串拼接。
  • 代码模板生成:提供符合最佳实践的脚本模板,包含严格模式设置、错误处理框架、路径处理规范,确保新项目从一开始就遵循行业标准。
  • 常见问题

    PowerShell 逻辑运算符为什么要加括号?

    PowerShell 解析器要求当使用 -or-and 等逻辑运算符时,每个 cmdlet 调用必须用括号包裹。错误示例:if (Test-Path "a" -or Test-Path "b"),正确写法:if ((Test-Path "a") -or (Test-Path "b"))。不加括号会导致解析器将运算符误认为 cmdlet 的参数。

    ConvertTo-Json 为什么输出不完整?

    默认情况下 ConvertTo-Json 的深度限制为 2 层,嵌套对象超过两层会被截断显示为省略号。解决方案是始终指定 -Depth 参数:ConvertTo-Json -Depth 10。这是处理配置文件、API 响应等复杂数据结构时的常见陷阱。

    PowerShell 脚本可以使用 Emoji 表情符号吗?

    不建议。PowerShell 脚本应仅使用 ASCII 字符,避免使用 ✅、❌、⚠️ 等 Unicode 符号。原因包括:编码问题可能导致符号显示异常、某些终端环境不支持 Unicode、ASCII 在日志和远程执行场景更可靠。推荐使用 [OK][!][*] 等替代。