你是否曾为重复重命名几十个文件而头疼?是否手动检查过上百台电脑的服务状态?是否在图形界面里翻来覆去找某个系统设置?其实,这些繁琐操作,一行 PowerShell 命令就能搞定。
PowerShell 是微软推出的现代化命令行工具和脚本语言,它不仅能替代传统的 CMD,还能实现强大的自动化管理。对于普通用户,它是效率神器;对于 IT 人员,它是运维利器。本文将带你快速掌握 10 个最常用、最实用的 PowerShell 命令,零基础也能上手!
PowerShell 的命令叫 Cmdlet(读作 “command-let”),其命名遵循统一规范:
动词-名词(Verb-Noun)结构,例如:
Get-Process(获取进程)
Stop-Service(停止服务)
Copy-Item(复制文件)
这种设计让你即使没见过某个命令,也能猜出它的作用。所有命令都支持自动补全!输入前几个字母后按 Tab 键即可循环匹配。
1. Get-Help —— 帮助使用说明
作用:查看任何命令的帮助文档。
示例:
Get-Help Get-Process # 查看 Get-Process 的用法
Get-Help Get-Process -Examples # 只看使用示例
2. Get-Command —— 列出所有可用命令
作用:搜索或浏览当前系统支持的所有 Cmdlet、函数、脚本等。
示例:
Get-Command *service* # 查找所有含 "service" 的命令
Get-Command -Verb Get # 列出所有以 "Get" 开头的命令
3. Get-Process —— 查看正在运行的程序
作用:获取进程信息(类似任务管理器)。
示例:
Get-Process chrome # 查看 Chrome 进程
Get-Process | Sort CPU -Descending | Select -First 5 # 找出 CPU 占用最高的 5 个进程;返回的是对象,可直接访问属性如 .CPU、.WorkingSet(内存占用)。
4. Stop-Process / Stop-Service —— 强制结束程序或服务
作用:安全终止进程或 Windows 服务。
示例:
Stop-Process -Name notepad # 关闭所有记事本
Stop-Service -Name Spooler # 停止打印服务(需管理员权限)
注意:操作前建议先用 Get-Process 或 Get-Service 确认目标。
5. Get-Service —— 管理 Windows 服务
作用:查看、筛选系统服务状态。
示例:
Get-Service | Where Status -eq 'Running' # 列出所有正在运行的服务
Get-Service Win* # 查看所有以 "Win" 开头的服务
6. Get-ChildItem(别名 ls 或 dir)—— 浏览文件和文件夹
作用:列出目录内容,比 CMD 的 dir 更强大。
示例:
Get-ChildItem C:\Users # 列出用户目录
Get-ChildItem *.log -Recurse # 递归查找所有 .log 文件
Get-ChildItem | Where Length -gt 100MB # 找出大于 100MB 的文件
7. Copy-Item / Move-Item / Remove-Item —— 文件操作三剑客
作用:复制、移动、删除文件或文件夹。
示例:
Copy-Item "report.docx" "backup_report.docx" # 复制文件
Move-Item "*.tmp" -Destination "C:\Temp\" # 移动所有临时文件
Remove-Item "old_folder" -Recurse -Force # 强制删除整个文件夹
支持通配符(*)、递归(-Recurse)和强制操作(-Force)。
8. Get-Content / Set-Content —— 读写文本文件
作用:查看或写入文件内容。
示例:
Get-Content "notes.txt" # 显示文件内容
Get-Content "log.txt" -Tail 10 # 查看日志最后 10 行(类似 Linux tail)
Set-Content "hello.txt" "Hello, World!" # 创建或覆盖写入文件
9. Test-Path —— 检查文件或路径是否存在
作用:常用于脚本中做条件判断。
示例:
Test-Path "C:\Important\file.xlsx" # 返回 True 或 False
if (Test-Path "backup.zip") { Write-Host "备份已存在" }
10. Invoke-WebRequest(别名 curl 或 wget)—— 下载网页或文件
作用:从网络获取数据(需 PowerShell 3.0+)。
示例:
Invoke-WebRequest -Uri "https://example.com/data.csv" -OutFile "data.csv"
在 PowerShell 7+ 中,该命令性能大幅提升,支持现代 HTTP 协议。
PowerShell 最强大的特性之一是 管道(Pipeline),用 | 将多个命令连接起来,像流水线一样处理数据。
经典案例:批量重命名照片
Get-ChildItem *.jpg | Rename-Item -NewName { "Vacation_$($_.BaseName).jpg" }
这行命令会把当前目录下所有 .jpg 文件重命名为 Vacation_原文件名.jpg。
再比如:找出占用空间最大的 3 个文件夹
Get-ChildItem -Directory |
ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Size = (Get-ChildItem $_.FullName -Recurse -File | Measure-Object Length -Sum).Sum
}
} |
Sort-Object Size -Descending |
Select-Object -First 3
先掌握 Get-Help 和上述 10 个命令,尝试用命令替代日常操作(如文件整理);逐步学习变量、循环、函数,编写自动化脚本。
PowerShell 不是程序员的专利,而是每个想高效使用电脑的人的必备技能。它把复杂的操作变成清晰、可重复、可分享的命令,让你从手动操作员升级为自动化指挥官。