这里整理 CMD 与 PowerShell 常用命令对照表,按使用场景分类,附用法差异、注意点,直接对照使用即可。
说明:PowerShell 原生兼容大部分传统 DOS 命令(如
ping/ipconfig),但推荐使用原生 PS 指令,功能更强。
一、目录与文件操作
| 功能 | CMD 命令 | PowerShell 命令 | 补充说明 |
|---|---|---|---|
| 查看目录 | dir |
Get-ChildItem / 简写 ls |
PS 推荐 ls,参数更丰富 |
| 切换目录 | cd 路径 |
cd 路径 / Set-Location |
用法基本一致 |
| 返回上级 | cd .. |
cd .. |
通用 |
| 新建文件夹 | md 文件夹名 / mkdir |
mkdir 文件夹名 / New-Item -Dir |
完全兼容 |
| 删除文件 | del 文件名 |
Remove-Item 文件名 / del |
批量删:del *.txt 通用 |
| 删除文件夹 | rd 文件夹 /s /q |
Remove-Item 文件夹 -Recurse -Force |
PS 删目录必须加 -Recurse |
| 复制文件 | copy 源 目标 |
Copy-Item 源 目标 / copy |
复制目录 PS 加 -Recurse |
| 移动/重命名 | move 源 目标 |
Move-Item 源 目标 / move |
重命名用法一致 |
| 查看文件内容 | type 文件名 |
Get-Content 文件名 / cat |
大文件 PS cat 体验更好 |
二、进程 & 服务管理
| 功能 | CMD 命令 | PowerShell 命令 |
|---|---|---|
| 查看所有进程 | tasklist |
Get-Process / ps |
| 按名称杀进程 | taskkill /f /im java.exe |
Stop-Process -Name java -Force |
| 按PID杀进程 | taskkill /f /pid 1234 |
Stop-Process -Id 1234 -Force |
| 查看系统服务 | sc query |
Get-Service |
| 启动服务 | sc start 服务名 |
Start-Service 服务名 |
| 停止服务 | sc stop 服务名 |
Stop-Service 服务名 |
三、网络相关
| 功能 | CMD 命令 | PowerShell 命令 |
|---|---|---|
| 查看网卡IP | ipconfig |
ipconfig / Get-NetIPAddress |
| 测试连通性 | ping 域名/IP |
ping 域名/IP |
| 查看端口占用 | netstat -ano |
netstat -ano / Get-NetTCPConnection |
| 路由追踪 | tracert 域名 |
tracert 域名 / Test-NetConnection 域名 -TraceRoute |
四、系统 & 环境操作
| 功能 | CMD 命令 | PowerShell 命令 |
|---|---|---|
| 清屏 | cls |
cls / Clear-Host |
| 查看环境变量 | set |
Get-ChildItem Env: |
| 临时设置环境变量 | set 键=值 |
$env:键="值" |
| 查看当前用户 | whoami |
whoami |
| 关机/重启 | shutdown /s /t 0 / shutdown /r /t 0 |
Stop-Computer / Restart-Computer |
五、文件查找 & 过滤
| 功能 | CMD 命令 | PowerShell 命令 |
|---|---|---|
| 文本过滤 | findstr "关键词" 文件 |
Select-String "关键词" 文件 / findstr |
| 递归查找文件 | dir /s /b *.jar |
ls -Recurse -Filter *.jar |
六、后台运行 & 输出重定向(你之前用到的场景)
1. 标准输出/错误输出黑洞
-
CMD:
cmdjava -jar app.jar >nul 2>&1 -
PowerShell:
powershelljava -jar app.jar > $null 2>&1
2. 后台运行程序
- CMD 后台:
start /b java -jar app.jar - PowerShell 后台:
Start-Process java -ArgumentList "-jar app.jar"
七、关键差异&实用小贴士
-
路径分隔
两者都支持\;PowerShell 也支持 Linux 风格/,跨平台更友好。 -
通配符
*、?用法完全一致,原有批量命令不用改。 -
脚本后缀
- CMD 脚本:
.bat/.cmd - PowerShell 脚本:
.ps1
- CMD 脚本:
-
别名兼容
PowerShell 内置了大量 CMD/Linux 别名(ls/cat/del/copy),老命令直接敲就能用,过渡无压力。 -
权限
执行.ps1脚本默认有策略限制,首次执行可临时放行:powershellSet-ExecutionPolicy RemoteSigned
八、过渡建议
- 日常简单操作:继续用熟悉的
ping/ipconfig/dir,两套环境通用; - 写新自动化脚本:优先用
.ps1,支持变量、判断、循环、JSON 解析,能力远强于 bat; - 老旧
.bat脚本:无需重构,保留用 CMD 运行即可。