cmd切换到powershell (一)

这里整理 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:

    cmd 复制代码
    java -jar app.jar >nul 2>&1
  • PowerShell:

    powershell 复制代码
    java -jar app.jar > $null 2>&1

2. 后台运行程序

  • CMD 后台:start /b java -jar app.jar
  • PowerShell 后台:Start-Process java -ArgumentList "-jar app.jar"

七、关键差异&实用小贴士

  1. 路径分隔
    两者都支持 \;PowerShell 也支持 Linux 风格 /,跨平台更友好。

  2. 通配符
    *、? 用法完全一致,原有批量命令不用改。

  3. 脚本后缀

    • CMD 脚本:.bat / .cmd
    • PowerShell 脚本:.ps1
  4. 别名兼容
    PowerShell 内置了大量 CMD/Linux 别名(ls/cat/del/copy),老命令直接敲就能用,过渡无压力。

  5. 权限
    执行 .ps1 脚本默认有策略限制,首次执行可临时放行:

    powershell 复制代码
    Set-ExecutionPolicy RemoteSigned

八、过渡建议

  1. 日常简单操作:继续用熟悉的 ping/ipconfig/dir,两套环境通用;
  2. 写新自动化脚本:优先用 .ps1,支持变量、判断、循环、JSON 解析,能力远强于 bat;
  3. 老旧 .bat 脚本:无需重构,保留用 CMD 运行即可。
相关推荐
网硕互联的小客服2 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
andyweike3 小时前
php笔记
开发语言·笔记·php
lisanmengmeng3 小时前
nacos nrpe 监控机及被监控机部署
服务器·nacos·nagios·nrpe
Circ.4 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
JSON_L4 小时前
Fastadmin 框架生成条形码
php·fastadmin
2301_808414384 小时前
Linux中动静态库的理解
linux·运维·服务器
现任明教教主~5 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
Zhou1411366 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
码匠许师傅6 小时前
【C++三方组件】cpp-httplib:一个头文件起 HTTP 服务
开发语言·c++·http