Windows CMD 命令笔记

CMD Windows 命令行 排错
创建于 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

如果命令提示“不是内部或外部命令”,优先检查:

  1. 软件是否安装。
  2. 是否加入 PATH。
  3. 是否重开终端。

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 pythonwhere.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. 自测题

  1. CMD 中跨盘进入 D:\Projects\MeetYou 应该用什么命令?
  2. 如何查看 8000 端口被哪个 PID 占用?
  3. setsetx 有什么区别?
  4. where python 的作用是什么?

我的新增记录


反向链接:00-MOC-命令行与部署知识库总览01-Windows-PowerShell-命令笔记07-常见排错与小点整合