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 小时前
Go 里的 init() 到底是什么(彻底理解)
开发语言·后端·golang
蜜蜜不吃糖2 小时前
解决Veeam备份数据到Backup copy服务器报错session log违反了检查约束
运维·服务器
z落落2 小时前
C#ArrayList 和 List<T>核心对比和数组对比
开发语言·c#·list
Cheng小攸2 小时前
实验九:防火墙安全认证和审计实验
开发语言·安全·php
艾莉丝努力练剑2 小时前
【Linux网络】Linux 网络编程:传输层TCP(二)
linux·运维·服务器·网络·tcp/ip·计算机网络
不会C语言的男孩3 小时前
C++ Primer Plus 第8章:函数探幽
开发语言·c++
都在酒里3 小时前
Linux字符设备驱动开发(十):综合实例——I2C传感器 + LED智能控制与进阶指南
linux·运维·服务器·驱动开发·交互
wanhengidc10 小时前
服务器租用有何优点
运维·服务器·安全·web安全
方也_arkling10 小时前
【Java-Day08】static / final / 枚举
java·开发语言