소스 정보
- 저장소
- MisonL/Ling
- 최근 소스 활동
- 2026년 3월 13일 09:25
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 9
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/MisonL/Ling --skill powershell-windows명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | powershell-windows |
| description | PowerShell(任务自动化和配置管理框架)Windows 模式。包含关键陷阱、运算符语法(Operator Syntax)和错误处理。 |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
针对 Windows PowerShell 的核心模式与关键陷阱。
| [FAIL] 错误做法 | [OK] 正确做法 |
|---|---|
if (Test-Path "a" -or Test-Path "b") | if ((Test-Path "a") -or (Test-Path "b")) |
if (Get-Item $x -and $y -eq 5) | if ((Get-Item $x) -and ($y -eq 5)) |
准则: 在使用逻辑运算符时,每一个 Cmdlet(命令)的调用必须封装在圆括号内。
| 用途 | [FAIL] 禁止使用 | [OK] 推荐使用 |
|---|---|---|
| 成功 | [OK] OK | [OK] [+] |
| 错误 | [FAIL] X [CRITICAL] | [!] [X] |
| 警告 | [WARN] [SUGGESTION] | [*] [WARN] |
| 信息 | ℹ | [i] [INFO] |
| 进度 | ⏳ | [...] |
准则: 在 PowerShell 脚本中仅使用 ASCII(ASCII 码)字符。
| [FAIL] 错误做法 | [OK] 正确做法 |
|---|---|
$array.Count -gt 0 | $array -and $array.Count -gt 0 |
$text.Length | if ($text) { $text.Length } |
推荐做法: 先存储到变量中,再进行内插。
$value = $obj.prop.sub
Write-Output "Value: $value"
| 取值 | 使用场景 |
|---|---|
| Stop | 开发阶段(快速失败) |
| Continue | 生产环境脚本 |
| SilentlyContinue | 预期可能会发生错误时 |
| 模式 | 用途 |
|---|---|
| 字面量路径 | C:\Users\User\file.txt |
| 变量路径 | Join-Path $env:USERPROFILE "file.txt" |
| 相对路径 | Join-Path $ScriptDir "data" |
准则: 使用 Join-Path 以确保跨平台的路径安全性。
| 操作项 | 语法 |
|---|---|
| 空数组 | $array = @() |
| 添加元素 | $array += $item |
| ArrayList 添加 | $list.Add($item) | Out-Null |
| [FAIL] 错误做法 | [OK] 正确做法 |
|---|---|
ConvertTo-Json | ConvertTo-Json -Depth 10 |
准则: 处理嵌套对象时,务必显式指定 -Depth。
| 操作项 | 模式 |
|---|---|
| 读取 | Get-Content "file.json" -Raw | ConvertFrom-Json |
| 写入 | $data | ConvertTo-Json -Depth 10 | Out-File "file.json" -Encoding UTF8 |
| 错误消息 | 原因 | 修复方案 |
|---|---|---|
| "parameter 'or'" | 缺失圆括号 | 使用 () 封装 Cmdlet |
| "Unexpected token" | 存在 Unicode 字符 | 仅保留 ASCII 字符 |
| "Cannot find property" | 对象为空(Null) | 先执行空值检查 |
| "Cannot convert" | 类型不匹配 | 使用 .ToString() 转换 |
# 开启严格模式
Set-StrictMode -Version Latest
$ErrorActionPreference = "Continue"
# 路径初始化
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
# 主程序逻辑
try {
# 在此处编写业务逻辑
Write-Output "[OK] Done"
exit 0
}
catch {
Write-Warning "Error: $_"
exit 1
}
谨记: PowerShell 具有独特的语法规则。圆括号的使用、仅限 ASCII 以及空值检查是不可逾越的底线。