Windows CMD 命令笔记
创建于 2026-05-09
目录
Windows CMD 命令笔记
Summary
CMD 是 Windows 传统命令行。虽然不如 [PowerShell](01-Windows-PowerShell-命令笔记.html) 现代,但很多教程、网络诊断、批处理脚本、`netstat/taskkill/ipconfig` 仍然常用。对 MeetYou 来说,CMD 主要用于快速排查端口、环境变量、PATH、网络和旧式 `.bat/.cmd` 脚本。相关:00-MOC-命令行与部署知识库总览|01-Windows-PowerShell-命令笔记|07-常见排错与小点整合
1. 打开方式
Win + R -> cmd -> Enter
以管理员身份打开:开始菜单搜索 cmd,右键“以管理员身份运行”。
2. 目录导航
cd :: 显示当前目录
dir :: 列出目录
cd C:\Projects\MeetYou :: 切换目录
cd .. :: 上一级
cd \ :: 当前盘根目录
D: :: 切换到 D 盘
cd /d D:\Projects\MeetYou :: 跨盘切换目录,推荐用这个
Warning
CMD 中 `cd D:\xxx` 不会自动切到 D 盘,常用 `cd /d D:\xxx`。3. 文件与目录操作
mkdir logs :: 新建目录
rmdir logs :: 删除空目录
rmdir /s /q logs :: 删除目录及内容,谨慎
copy a.txt b.txt :: 复制文件
xcopy src dst /E /I :: 复制目录
robocopy src dst /E :: 更强的复制目录工具
move a.txt archive\ :: 移动
del a.txt :: 删除文件
del /q *.log :: 删除当前目录 log 文件
type README.md :: 查看文本文件
robocopy 常用于大量文件复制:
robocopy C:\data D:\backup /E /XD node_modules .git
4. 搜索与过滤
findstr "TODO" *.py
findstr /S /I "docker" *.md
/S:递归子目录。/I:忽略大小写。
5. 环境变量
查看:
set
set PATH
当前窗口临时设置:
set MEETYOU_ENV=dev
echo %MEETYOU_ENV%
持久设置:
setx MEETYOU_ENV dev
Warning
`setx` 不会影响当前 CMD 窗口,新开窗口才生效。不要随便用 `setx PATH ...` 覆盖 PATH,容易把原 PATH 搞丢。6. 程序位置与 PATH
where python
where node
where git
where ssh
如果命令提示“不是内部或外部命令”,优先检查:
- 软件是否安装。
- 是否加入 PATH。
- 是否重开终端。
7. 网络诊断
ipconfig :: 查看网卡/IP
ipconfig /all :: 详细网络配置
ping github.com :: 测连通性
tracert github.com :: 路由跟踪
nslookup github.com :: DNS 查询
8. 端口与进程
查端口:
netstat -ano | findstr :38951
netstat -ano | findstr :8000
输出示例:
TCP 127.0.0.1:38951 0.0.0.0:0 LISTENING 12345
最后一列 12345 是 PID。
查进程:
tasklist | findstr 12345
tasklist /FI "PID eq 12345"
杀进程:
taskkill /PID 12345 /F
9. 服务管理
sc query :: 查看服务
sc query 服务名
net start 服务名
net stop 服务名
Windows 服务名不一定等于显示名称,可以先在服务管理器里确认。
10. 批处理脚本基础
文件:run.bat
@echo off
cd /d C:\Projects\MeetYou
echo Checking git status...
git status
if errorlevel 1 (
echo Git failed.
exit /b 1
)
echo Done.
常用语法:
%VAR% :: 变量引用
%CD% :: 当前目录
%~dp0 :: 当前 bat 文件所在目录
if exist file.txt echo yes :: 判断文件存在
11. 和 PowerShell 的对应关系
| CMD | PowerShell |
|---|---|
dir |
Get-ChildItem |
type file.txt |
Get-Content file.txt |
findstr "x" *.txt |
Select-String -Pattern "x" -Path *.txt |
set A=1 |
$env:A = "1" |
where python |
Get-Command python 或 where.exe python |
taskkill /PID 123 /F |
Stop-Process -Id 123 -Force |
12. MeetYou 场景小抄
12.1 查 desktop bridge 端口
netstat -ano | findstr :38951
12.2 杀掉占用端口的进程
taskkill /PID 12345 /F
12.3 检查 Git/Python/Node 是否在 PATH
where git
where python
where node
12.4 快速进入项目目录
cd /d C:\Projects\MeetYou
13. 常见坑
| 问题 | 原因 | 处理 |
|---|---|---|
cd D:\xxx 后还在 C 盘 |
CMD 不自动跨盘 | 用 cd /d D:\xxx |
setx 后当前窗口没变 |
setx 只影响新窗口 |
重开 CMD/PowerShell |
| 中文乱码 | 编码页问题 | 可尝试 chcp 65001 |
where 找不到程序 |
未加入 PATH | 修复 PATH 后重开终端 |
| 批处理路径带空格失败 | 没加引号 | "C:\Program Files\..." |
14. 自测题
- CMD 中跨盘进入
D:\Projects\MeetYou应该用什么命令? - 如何查看
8000端口被哪个 PID 占用? set和setx有什么区别?where python的作用是什么?
我的新增记录
反向链接:00-MOC-命令行与部署知识库总览|01-Windows-PowerShell-命令笔记|07-常见排错与小点整合