Windows 常用命令大全 🪟

🚀 掌握 Windows 命令行,提升系统管理和运维效率的强大工具集


✨ 特点与优势

  • ⚡ 高效管理: 快速完成文件操作、系统配置和网络管理
  • 🔧 强大功能: 提供图形界面无法实现的深度系统控制
  • 📊 自动化能力: 通过批处理脚本实现重复任务自动化
  • 🌐 网络诊断: 内置丰富的网络测试和故障排查工具
  • 💻 远程管理: 支持远程系统管理和维护

📋 目录


🔰 基础命令

📂 dir - 目录列表

用途: 显示目录中的文件和子目录
功能: 查看文件列表、过滤文件类型、排序显示

1
2
3
4
5
6
dir C:\Users
dir /s *.txt # 递归搜索所有txt文件
dir /a:h # 显示隐藏文件
dir /o:d # 按日期排序
dir /q # 显示文件所有者
dir /w # 宽列表格式显示

📍 cd / chdir - 切换目录

用途: 更改当前目录或显示当前目录

1
2
3
4
5
6
cd C:\Windows         # 切换到Windows目录
cd .. # 返回上级目录
cd \ # 返回根目录
cd /d D:\Projects # 切换驱动器并目录
pushd C:\Temp # 保存当前目录并切换
popd # 返回保存的目录

📋 copy - 文件复制

用途: 复制文件到指定位置

1
2
3
4
5
copy file.txt D:\Backup\
copy *.txt D:\TextFiles\
copy file1.txt + file2.txt combined.txt # 合并文件
copy /y source.txt destination.txt # 覆盖不提示
copy /v source.txt destination.txt # 验证复制结果

🚚 move - 文件移动/重命名

用途: 移动文件或重命名文件/目录

1
2
3
move file.txt D:\NewLocation\
move oldname.txt newname.txt # 重命名文件
move /y source.txt D:\Destination\ # 强制移动

🗑️ del / erase - 删除文件

用途: 删除一个或多个文件

1
2
3
4
5
del file.txt
del *.tmp # 删除所有tmp文件
del /s /q *.log # 递归静默删除日志文件
del /f read-only.txt # 强制删除只读文件
del /a:h hidden.txt # 删除隐藏文件

📁 md / mkdir - 创建目录

用途: 创建新目录

1
2
3
4
md NewFolder
md "Folder with spaces"
md D:\Projects\NewProject
md Sub1\Sub2\Sub3 # 创建多级目录

❌ rd / rmdir - 删除目录

用途: 删除目录

1
2
3
rd OldFolder
rd /s /q TempFolder # 递归静默删除目录
rd .\EmptyFolder # 删除空目录

📁 文件和目录管理

🏷️ attrib - 文件属性

用途: 显示或更改文件属性

1
2
3
4
5
attrib +r file.txt     # 设置只读属性
attrib +h secret.txt # 设置隐藏属性
attrib -s system.txt # 移除系统属性
attrib /s *.docx # 递归处理所有docx文件
attrib +s +h SystemFolder # 设置系统和隐藏属性

🔄 xcopy - 高级复制

用途: 复制文件和目录树

1
2
3
4
xcopy C:\Source D:\Backup /s /e
xcopy *.* D:\Backup /d:01-01-2023 # 复制指定日期后的文件
xcopy /c /h /r /y Source Dest # 持续复制,包含隐藏文件
xcopy /exclude:exclude.txt Source Dest # 排除指定文件

🚀 robocopy - 强大复制工具

用途: 可靠的文件复制工具(推荐用于大量文件复制)

1
2
3
4
5
robocopy C:\Source D:\Backup /mir   # 镜像复制
robocopy /s /z /mt:16 Source Dest # 多线程复制
robocopy /log:copy.log Source Dest # 记录日志
robocopy /maxage:7 Source Dest # 复制7天内的文件
robocopy /min:1024 Source Dest # 复制大于1KB的文件

🌳 tree - 目录树

用途: 图形方式显示目录结构

1
2
3
4
tree C:\Projects
tree /f # 显示文件名
tree /a # 使用ASCII字符
tree /a /f > tree.txt # 输出到文件

✏️ ren / rename - 重命名

用途: 重命名文件和目录

1
2
3
4
ren oldname.txt newname.txt
ren "old name.txt" "new name.txt"
ren *.txt *.bak # 批量重命名
ren *.html *.htm # 更改扩展名

🔍 where - 查找文件

用途: 在路径中查找文件

1
2
3
where notepad.exe    # 查找notepad位置
where /r C:\Windows *.exe # 递归查找
where /q python.exe && echo Python已安装 # 条件执行

⚙️ 系统管理

📊 tasklist - 进程列表

用途: 显示当前运行的所有进程

1
2
3
4
5
tasklist
tasklist /svc # 显示服务信息
tasklist /fi "IMAGENAME eq chrome.exe" # 过滤进程
tasklist /fo csv > processes.csv # 导出为CSV
tasklist /v # 详细信息

⚡ taskkill - 终止进程

用途: 终止运行的进程

1
2
3
4
taskkill /im notepad.exe        # 按映像名终止
taskkill /pid 1234 /f # 强制终止指定PID
taskkill /fi "STATUS eq NOT RESPONDING" # 终止无响应进程
taskkill /t /im chrome.exe # 终止进程树

🛠️ chkdsk - 磁盘检查

用途: 检查磁盘并修复文件系统错误

1
2
3
4
chkdsk C: /f          # 检查并修复C盘
chkdsk /r # 定位坏扇区并恢复可读信息
chkdsk /scan # 在线扫描
chkdsk /spotfix # 现场修复

🔍 sfc - 系统文件检查

用途: 扫描并修复系统文件

1
2
3
4
sfc /scannow          # 立即扫描并修复
sfc /verifyonly # 只扫描不修复
sfc /scanfile=file.txt # 扫描指定文件
sfc /scanonce # 下次启动时扫描

⏻ shutdown - 关机管理

用途: 关机、重启或注销计算机

1
2
3
4
5
6
shutdown /s /t 0          # 立即关机
shutdown /r /t 60 # 60秒后重启
shutdown /l # 注销
shutdown /a # 取消关机
shutdown /h /f # 休眠并强制关闭应用
shutdown /m \\remote-pc /r # 重启远程计算机

ℹ️ systeminfo - 系统信息

用途: 显示计算机的详细配置信息

1
2
3
4
systeminfo
systeminfo /fo csv # CSV格式输出
systeminfo /s remote-pc # 远程计算机信息
systeminfo /u domain\user /p password # 指定凭据

📊 wmic - Windows管理工具

用途: 强大的系统管理命令行工具

1
2
3
4
wmic computersystem get model  # 获取计算机型号
wmic diskdrive get size # 获取磁盘大小
wmic process get name,processid # 获取进程信息
wmic product get name,version # 获取安装的程序

🌐 网络相关命令

🌐 ipconfig - IP配置

用途: 显示TCP/IP网络配置值

1
2
3
4
5
6
7
ipconfig                 # 基本信息
ipconfig /all # 详细信息
ipconfig /release # 释放IP地址
ipconfig /renew # 续订IP地址
ipconfig /flushdns # 清除DNS缓存
ipconfig /displaydns # 显示DNS缓存
ipconfig /showclassid # 显示DHCP类ID

📡 ping - 网络测试

用途: 测试网络连接

1
2
3
4
5
ping google.com
ping 192.168.1.1 -t # 持续ping
ping -n 10 example.com # 指定次数
ping -l 1024 target.com # 指定数据包大小
ping -f target.com # 设置不分段标志

🗺️ tracert - 路由跟踪

用途: 跟踪数据包路径

1
2
3
4
tracert google.com
tracert -d target.com # 不解析地址为主机名
tracert -h 30 target.com # 指定最大跳数
tracert -w 1000 target.com # 设置超时时间(毫秒)

📊 netstat - 网络统计

用途: 显示网络连接和统计信息

1
2
3
4
5
6
netstat -an                  # 所有连接和端口
netstat -b # 显示可执行文件
netstat -s # 显示统计信息
netstat -o # 显示进程ID
netstat -r # 显示路由表
netstat -e # 显示以太网统计信息

🔍 nslookup - DNS查询

用途: 查询DNS信息

1
2
3
4
5
nslookup google.com
nslookup -type=mx example.com # 查询MX记录
nslookup -debug example.com # 调试模式
nslookup -type=soa example.com # 查询SOA记录
nslookup -timeout=10 example.com # 设置超时

👥 net - 网络命令集

用途: 多种网络管理功能

1
2
3
4
5
6
7
net user                     # 显示用户账户
net share # 显示共享资源
net start # 显示运行服务
net stop service-name # 停止服务
net use # 显示网络连接
net view # 显示网络资源
net config # 显示配置信息

🌐 netsh - 网络配置

用途: 网络配置命令行工具

1
2
3
4
netsh interface show config  # 显示接口配置
netsh firewall show config # 显示防火墙配置
netsh wlan show profiles # 显示WiFi配置
netsh advfirewall dump # 导出防火墙配置

💾 磁盘管理

🎛️ diskpart - 磁盘分区

用途: 磁盘分区管理工具

1
2
3
4
5
6
7
diskpart                    # 进入交互模式
list disk # 列出磁盘
select disk 0 # 选择磁盘
list partition # 列出分区
create partition primary # 创建主分区
format fs=ntfs quick # 快速格式化为NTFS
clean # 清除磁盘

💽 format - 磁盘格式化

用途: 格式化磁盘

1
2
3
4
format D: /fs:ntfs         # 格式化为NTFS
format /q # 快速格式化
format /v:MyDrive # 设置卷标
format /a:64k # 设置分配单元大小

📀 diskcopy - 磁盘复制

用途: 复制整个磁盘内容

1
diskcopy A: B:             # 复制A盘到B盘

🏷️ vol - 卷标显示

用途: 显示磁盘卷标和序列号

1
vol C:

✏️ label - 卷标管理

用途: 创建、更改或删除磁盘卷标

1
2
label C: SystemDrive
label D: DataDrive

📈 defrag - 磁盘碎片整理

用途: 整理磁盘碎片

1
2
3
defrag C: /a               # 分析碎片
defrag C: /o # 优化
defrag C: /v # 显示详细报告

👥 用户管理

👤 net user - 用户账户管理

用途: 添加、删除或更改用户账户

1
2
3
4
5
net user                       # 显示所有用户
net user john Password123 /add # 添加用户
net user john /delete # 删除用户
net user john /active:no # 禁用用户
net user john /logonpasswordchg:yes # 允许更改密码

👥 net localgroup - 本地组管理

用途: 添加、显示或修改本地组

1
2
3
4
net localgroup                 # 显示所有本地组
net localgroup administrators john /add # 添加用户到管理员组
net localgroup users john /delete # 从用户组删除
net localgroup "Power Users" /add # 添加到特权用户组

🔄 runas - 以其他用户身份运行

用途: 以其他用户身份运行程序

1
2
3
runas /user:administrator cmd.exe
runas /savecred /user:admin notepad.exe # 保存凭据
runas /profile /user:domain\user program.exe # 加载用户配置文件

🔐 cacls / icacls - 权限管理

用途: 显示或修改文件访问控制列表

1
2
3
4
icacls file.txt /grant User:(F)  # 授予完全控制
icacls folder /inheritance:r # 禁用继承
icacls file.txt /remove User # 移除用户权限
cacls file.txt /e /g User:R # 编辑权限,授予读取权限

🔧 其他实用命令

📢 echo - 消息显示

用途: 显示消息或控制命令回显

1
2
3
4
5
6
echo Hello World!
echo %PATH% # 显示环境变量
echo off # 关闭命令回显
echo on # 开启命令回显
echo. # 输出空行
echo %DATE% %TIME% # 显示日期时间

📄 type - 文件内容显示

用途: 显示文件内容

1
2
3
4
type file.txt
type *.log # 显示多个文件内容
type nul > newfile.txt # 创建空文件
type con > file.txt # 从控制台输入创建文件

🔍 find - 文本搜索

用途: 在文件中搜索文本

1
2
3
4
5
find "error" log.txt
find /i "warning" *.log # 不区分大小写
find /c "success" file.txt # 统计出现次数
find /v "test" file.txt # 显示不包含文本的行
findstr /n "pattern" file.txt # 显示行号

🔄 sort - 文本排序

用途: 排序输入文本

1
2
3
4
sort file.txt
sort /r file.txt # 反向排序
sort /+n file.txt # 从第n列开始排序
sort /unique file.txt # 去除重复行

⚖️ fc - 文件比较

用途: 比较两个文件差异

1
2
3
4
fc file1.txt file2.txt
fc /b file1.bin file2.bin # 二进制比较
fc /n file1.txt file2.txt # 显示行号
fc /l file1.txt file2.txt # ASCII模式比较

🧹 cls - 清屏

用途: 清除命令行窗口

1
cls

💬 prompt - 提示符定制

用途: 自定义命令提示符

1
2
3
4
prompt $p$g              # 显示路径和>
prompt $t$g # 显示时间和>
prompt $u@$h$g # 显示用户@主机>
prompt $+$g # 显示推送目录深度

📝 set - 环境变量

用途: 显示、设置或删除环境变量

1
2
3
4
5
set                     # 显示所有变量
set PATH=%PATH%;C:\NewPath # 添加路径
set MYVAR=value # 设置变量
set /a result=10+5 # 数学计算
set /p input=请输入: # 用户输入

📜 批处理脚本

🎯 批处理基础

1
2
3
4
@echo off
rem 这是一个批处理脚本示例
echo 脚本开始执行
pause

⚙️ 常用批处理命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off                  # 关闭回显
title 我的脚本 # 设置窗口标题
color 0a # 设置颜色(背景0,文字a)
set /p name=请输入姓名: # 用户输入
echo 你好, %name%!
if exist file.txt (
echo 文件存在
) else (
echo 文件不存在
)
for %%i in (*.txt) do echo %%i # 循环处理
goto :label # 跳转到标签
:label
exit /b 0 # 退出脚本

🚀 实用批处理示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@echo off
chcp 65001 >nul # 设置UTF-8编码
echo 🚀 系统优化脚本
echo.

rem 清理临时文件
echo 📁 清理临时文件...
del /q /f %temp%\*.* 2>nul
rd /s /q %temp% 2>nul

rem 显示系统信息
echo 📊 系统信息:
systeminfo | findstr /C:"OS 名称" /C:"物理内存"

rem 备份重要文件
echo 📦 备份文件...
xcopy "C:\Important" "D:\Backup\Important" /s /e /y

echo.
echo ✅ 脚本执行完成!
timeout /t 5
exit

🔄 高级批处理技巧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
setlocal enabledelayedexpansion

rem 错误处理
if errorlevel 1 (
echo 错误发生!
exit /b 1
)

rem 数组处理
set array[0]=第一个元素
set array[1]=第二个元素
for /l %%i in (0,1,1) do (
echo !array[%%i]!
)

rem 函数定义
call :my_function "参数"
goto :eof

:my_function
echo 函数收到参数: %~1
exit /b 0

💡 使用技巧

🎨 美化命令行

1
2
3
4
5
6
7
8
9
10
11
12
# 使用颜色
color 0a # 黑底绿字
color 1f # 蓝底白字

# 设置窗口大小
mode con: cols=100 lines=40

# 自定义提示符
prompt [$t]$p$g

# 使用特殊字符
echo ░▒▓█ 进度条 █▓▒░

🔧 快捷键技巧

  • F7 - 查看命令历史
  • F8 - 搜索历史命令
  • Tab - 自动补全路径
  • ↑/↓ - 浏览命令历史
  • Ctrl + C - 终止当前命令
  • Ctrl + A - 移动到行首
  • Ctrl + E - 移动到行尾
  • Ctrl + ←/→ - 按单词移动

📚 学习资源

  1. 帮助系统: 在任何命令后加 /? 查看帮助

    1
    2
    dir /?
    xcopy /?
  2. 命令参考: 使用 help 命令查看所有可用命令

    1
    2
    help
    help | more # 分页显示
  3. 在线文档: 访问 Microsoft 官方文档获取详细信息

🚀 高级功能

🔄 PowerShell 集成

用途: 在CMD中使用PowerShell命令

1
2
powershell "Get-Process | Sort-Object CPU -Descending | Select-Object -First 5"
powershell "Get-Service | Where-Object {$_.Status -eq 'Running'}"

📊 性能监控

用途: 系统性能监控命令

1
2
3
typeperf "\Processor(_Total)\% Processor Time" -sc 10  # 监控CPU使用率
perfmon # 打开性能监视器
logman create counter MyLog -c "\Memory\Available MBytes" # 创建性能计数器

🔧 注册表操作

用途: 命令行注册表编辑

1
2
3
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion"  # 查询注册表
reg add "HKCU\Software\MyApp" /v Setting /t REG_SZ /d Value # 添加注册表项
reg export "HKCU\Software\MyApp" backup.reg # 导出注册表

🌐 远程管理

用途: 远程系统管理命令

1
2
3
psexec \\remote-pc cmd.exe  # 远程执行命令
sc \\remote-pc queryex state= all # 查询远程服务
wmic /node:"remote-pc" process get name # 远程进程管理

💡 专业提示:

  • 使用 > nul 2>&1 重定向输出和错误信息
  • 在批处理脚本中使用 setlocal enabledelayedexpansion 处理变量
  • 使用 %ERRORLEVEL% 检查上一条命令的执行结果
  • 对于复杂任务,考虑使用 PowerShell 脚本替代批处理

🛡️ 安全警告:

  • 谨慎使用系统级命令,特别是在生产环境中
  • 在执行破坏性操作前始终进行备份
  • 使用最小权限原则运行命令