Windows CMD 命令实用教程
一、CMD 快速入门
(一)CMD 概述
CMD,即命令提示符,是 Windows 系统提供的强大文本操作界面。借助输入特定命令,用户能完成诸如文件管理、系统配置等各种任务,尤其适用于批量和自动化操作,极大提升工作效率。
(二)开启 CMD 的方法
- 常规开启:按下
Win + R
组合键,弹出“运行”对话框,输入cmd
后回车,即可打开 CMD 窗口。 - 管理员权限开启:在开始菜单中找到“命令提示符”,右键点击并选择“以管理员身份运行”。当执行如系统配置更改、磁盘管理等需要高权限的操作时,此方式必不可少。
二、基础操作命令
(一)查看目录内容:dir
- 作用:展示当前或指定目录下的文件和文件夹信息。
- 参数及示例
- 无参数:输入
dir
,显示当前目录的内容。 - 指定目录:
dir C:\Windows
,查看 C 盘 Windows 目录的内容。 /s
:递归显示指定目录及其子目录的内容,如dir C:\Users /s
。/a
:显示具有特定属性的文件和文件夹,/a:h
显示隐藏文件和文件夹,/a:d
仅显示文件夹。/o
:按指定顺序排序显示,/o:s
按文件大小从小到大排序,/o:-n
按文件名逆序排序。
(二)切换目录:cd
- 作用:在不同目录间进行切换。
- 参数及示例
- 指定目录:
cd C:\Users
,切换到 C 盘的 Users 目录。 - 返回上级目录:
cd..
,返回当前目录的上一级。 - 回到根目录:
cd\
,回到当前磁盘的根目录。 - 切换到上一次目录:
cd -
,切换到上一次所在的目录。 - 进入用户主目录:
cd %USERPROFILE%
,快速进入当前用户的主目录。
(三)清屏:cls
- 作用:清除 CMD 窗口中的所有显示内容,使界面简洁,便于后续操作。
- 示例:当窗口内容过多时,输入
cls
即可清屏。
(四)退出 CMD:exit
- 作用:关闭当前的 CMD 窗口。
- 示例:操作完成后,输入
exit
退出。
(五)输出文本:echo
- 作用:在 CMD 窗口中显示指定的文本信息,也可用于控制命令回显。
- 参数及示例
- 输出文本:
echo Hello, World!
,显示Hello, World!
。 - 关闭回显:
echo off
,关闭命令回显,使输出更简洁;echo on
则打开命令回显。 - 输出到文件:
echo This is a test > test.txt
,将文本写入test.txt
文件。
(六)暂停执行:pause
- 作用:暂停脚本或命令的执行,等待用户按下任意键后继续。
- 示例:在脚本中使用
pause
可方便查看中间结果,如:
echo Processing...
pause
echo Continuing...
三、文件管理命令
(一)复制文件:copy
- 作用:将文件从一个位置复制到另一个位置。
- 参数及示例
- 基本复制:
copy C:\test.txt D:\backup
,将 C 盘的test.txt
复制到 D 盘的 backup 目录。 - 不提示覆盖:
copy /y C:\test.txt D:\backup
,遇到同名文件时不提示确认,直接覆盖。 - 验证复制:
copy /v C:\test.txt D:\backup
,验证复制文件的正确性。
(二)移动/重命名文件:move
- 作用:移动文件到新位置,也可用于重命名文件。
- 参数及示例
- 移动文件:
move C:\test.txt D:\
,将 C 盘的test.txt
移动到 D 盘。 - 重命名文件:
move old.txt new.txt
,将old.txt
重命名为new.txt
。 - 不提示覆盖:
move /y C:\test.txt D:\backup
,移动时遇到同名文件不提示确认,直接覆盖。
(三)删除文件:del
- 作用:删除指定文件。
- 参数及示例
- 删除指定文件:
del C:\temp\test.txt
,删除 C 盘 temp 目录下的test.txt
文件。 - 删除指定类型文件:
del C:\temp\*.tmp
,删除 C 盘 temp 目录下所有.tmp
文件。 - 递归删除:
del /s C:\temp\*.tmp
,删除 C 盘 temp 目录及其子目录中的所有.tmp
文件。 - 安静模式:
del /q C:\temp\*.tmp
,删除时不提示确认信息。
(四)重命名文件:ren
- 作用:更改文件的名称。
- 示例:
ren oldfile.txt newfile.txt
,将oldfile.txt
重命名为newfile.txt
。
(五)创建目录:md
- 作用:在指定位置创建新的文件夹。
- 参数及示例
- 创建单级目录:
md C:\NewFolder
,在 C 盘创建NewFolder
目录。 - 创建多级目录:
md /p C:\Temp\Test\SubTest
,在 C 盘依次创建Temp
、Test
和SubTest
目录。
(六)删除目录:rd
- 作用:删除指定的空文件夹,对于非空文件夹可结合
/s
参数。 - 参数及示例
- 删除空目录:
rd C:\NewFolder
,删除 C 盘的NewFolder
目录。 - 递归删除:
rd /s C:\Temp\Test
,删除 C 盘 Temp 目录下的Test
目录及其所有子目录和文件。 - 安静模式:
rd /s /q C:\Temp\Test
,删除时不提示确认信息。
四、系统信息命令
(一)查看系统信息:systeminfo
- 作用:显示计算机的详细系统信息,包括操作系统版本、处理器信息、内存信息等。
- 参数及示例
- 无参数:
systeminfo
,查看系统全面信息。 - 指定输出格式:
systeminfo /fo csv
以 CSV 格式输出信息,systeminfo /fo xml
以 XML 格式输出信息。
(二)显示系统版本:ver
- 作用:显示当前操作系统的版本号。
- 示例:输入
ver
查看系统版本。
(三)查看进程:tasklist
- 作用:列出当前正在运行的所有进程信息。
- 参数及示例
- 无参数:
tasklist
,查看进程列表。 - 显示服务:
tasklist /svc
,显示每个进程所包含的服务。 - 筛选进程:
tasklist /fi "memusage gt 10000"
筛选内存使用超过 10000K 的进程,tasklist /fi "imagename eq notepad.exe"
筛选名为notepad.exe
的进程。
(四)终止进程:taskkill
- 作用:结束指定的进程。
- 参数及示例
- 按进程名终止:
taskkill /im notepad.exe
,终止记事本进程。 - 强制终止:
taskkill /f /im notepad.exe
,强制终止记事本进程。 - 终止进程及其子进程:
taskkill /f /t /im explorer.exe
,终止explorer.exe
进程及其所有子进程。
(五)查看 IP 地址:ipconfig
- 作用:显示本地计算机的网络配置信息。
- 参数及示例
- 基本信息:
ipconfig
,查看基本网络信息。 语法:ipconfig [/all] [/release] [/renew]
- 详细信息:
ipconfig /all
,查看详细网络信息。 - 释放 IP 地址:
ipconfig /release Ethernet
,释放以太网连接的 IP 地址。 - 重新获取 IP 地址:
ipconfig /renew Ethernet
,重新获取以太网连接的 IP 地址。 - 清除 DNS 缓存:
ipconfig /flushdns
,清除 DNS 缓存。
ipconfig /all # 显示完整网络配置(包括MAC地址、DNS等)
ipconfig /release # 释放当前IP地址
ipconfig /renew # 重新获取IP地址
(六)测试网络
1. ping
- 作用:测试本地计算机与目标主机之间的网络连接是否正常。
- 语法:
ping [目标IP/域名] [-t] [-l 数据包大小]
- 参数及示例
- 基本测试:
ping baidu.com
,测试与百度服务器的连通性。 - 指定数据包数量:
ping -n 10 baidu.com
,发送 10 个数据包。 - 指定数据包大小:
ping -l 1024 baidu.com
,发送 1024 字节的数据包。 - 持续测试:
ping -t baidu.com
,持续发送数据包,按Ctrl + C
停止。
示例:
ping www.baidu.com # 测试与百度服务器的连通性
ping 192.168.1.1 -t # 持续ping直到手动停止
2. netstat
用途:查看网络连接状态、端口占用等。
语法:netstat [-a] [-n] [-o] [-p 协议]
示例:
netstat -ano # 显示所有连接和端口,包括进程ID
netstat -an | findstr "80" # 查找占用80端口的进程
2. tracert
用途:追踪数据包从本地到目标地址的路径。
语法:tracert [目标IP/域名]
示例:
tracert 202.108.22.5 # 追踪到百度服务器的路由路径
4. arp
用途:查看或管理ARP缓存(IP与MAC地址映射)。
语法:arp [-a] [-d IP地址]
示例:
arp -a # 显示当前ARP缓存表
arp -d 192.168.1.1 # 删除指定IP的ARP记录
5. nslookup
用途:查询DNS解析信息。
语法:nslookup [域名] [DNS服务器IP]
示例:
nslookup www.baidu.com # 查询百度域名的IP地址
nslookup 202.108.22.5 # 反向查询IP对应的域名
6. telnet
用途:测试端口连通性(需先启用“Telnet客户端”功能)。
语法:telnet [目标IP] [端口号]
示例:
telnet smtp.qq.com 25 # 测试QQ邮箱SMTP端口是否开放
7. netsh
用途:网络配置工具(如修改防火墙、代理等)。 示例:
netsh interface ip set address "本地连接" static 192.168.1.100 255.255.255.0 192.168.1.1 # 设置静态IP
8. route
用途:查看或管理路由表。
语法:route print
示例:
route print # 显示当前路由表
9. nbtstat
用途:显示NetBIOS相关信息(如局域网内计算机名称)。
语法:nbtstat [-a IP地址]
示例:
nbtstat -a 192.168.1.100 # 查看指定IP的NetBIOS名称
五、实用工具命令
(一)打开计算器:calc
- 作用:启动 Windows 计算器程序。
- 示例:输入
calc
打开计算器。
(二)打开记事本:notepad
- 作用:启动 Windows 记事本程序。
- 示例:输入
notepad
打开记事本。
(三)打开新 CMD 窗口:cmd
- 作用:在当前 CMD 窗口基础上打开一个新的命令提示符窗口。
- 示例:输入
cmd
打开新窗口。
(四)关机操作:shutdown
- 作用:对计算机进行关机、重启、注销等操作。
- 参数及示例
- 定时关机:
shutdown -s -t 60
,60 秒后关机。 - 取消关机:
shutdown -a
,取消已设置的关机任务。 - 重启:
shutdown -r -t 30
,30 秒后重启。 - 注销:
shutdown -l
,注销当前用户。
(五)启动程序:start
- 作用:启动指定的程序或打开文件、文件夹等。
- 参数及示例
- 启动程序:
start chrome.exe
,启动 Chrome 浏览器。 - 打开文件:
start C:\test.txt
,打开 C 盘的test.txt
文件。 - 打开文件夹:
start C:\Users
,打开 C 盘的 Users 文件夹。 - 新窗口运行:
start "" /new_console cmd.exe
,在新窗口中打开 CMD。
(六)显示目录树结构:tree
- 作用:以树状结构显示当前目录及其子目录的层次关系。
- 参数及示例
- 当前目录树:
tree
,查看当前目录树结构。 - 指定目录树:
tree C:\
,查看 C 盘目录树结构。 - 显示文件:
tree /f
,显示目录树并列出文件。 - ASCII 字符绘制:
tree /a
,使用 ASCII 字符绘制树结构。
六、高级操作命令
(一)关闭回显:echo off
- 作用:在脚本中关闭命令的回显,使输出更简洁。
- 示例:在批处理脚本开头添加
echo off
,后续命令执行时不显示命令本身。
(二)注释语句:rem
- 作用:在脚本中添加注释,提高代码可读性。
- 示例:
rem 这是一个注释,用于说明下面的操作
(三)循环命令:for
- 作用:实现循环操作,可对文件、字符串等进行遍历。
- 参数及示例
- 数字循环:
for /l %i in (1,1,10) do echo %i
,从 1 到 10 循环输出数字。 - 文件循环:
for %f in (*.txt) do echo %f
,遍历当前目录下的所有.txt
文件并输出文件名。 - 目录循环:
for /d %d in (*) do echo %d
,遍历当前目录下的所有文件夹并输出文件夹名。
(四)条件判断:if
- 作用:根据条件判断执行不同的命令。
- 参数及示例
- 文件存在判断:
if exist test.txt echo 文件存在
,判断test.txt
文件是否存在。 - 字符串比较:
if "abc" == "abc" echo 字符串相等
,判断两个字符串是否相等。 - 错误码判断:
if errorlevel 1 echo 命令执行出错
,判断上一个命令的返回错误码。
(五)启用内置 Administrator 账户(慎用)
- 以管理员身份运行 CMD
- 右键点击「开始菜单」→ 选择「命令提示符(管理员)」。
- 启用账户输入命令:
net user administrator /active:yes
- 按回车键后,内置管理员账户将被启用。
- 可以在开始菜单切换用户为Administrator
注销当前账户,选择「Administrator」登录。使用完毕后,可通过相同命令禁用:
net user administrator /active:no
(六)net命令
net命令是功能强大的命令行工具,用于管理网络环境、服务、用户、共享资源等。
1.用户管理 net user 功能:添加、删除或查看用户账户。 语法:
net user [用户名 [密码|*] [/add|/del]]
示例:
net user test /add # 添加用户test
net user test password /add # 添加用户并设置密码
net user test /del # 删除用户test
2.服务管理
net start/stop
功能:启动或停止服务。
示例:
net start telnet # 启动Telnet服务
net stop dhcp # 停止DHCP服务
net continue/pause
功能:恢复或暂停服务。
示例:
net pause wuauserv # 暂停Windows更新服务
net continue wuauserv # 恢复服务
3.共享与连接管理
net share
功能:创建、删除或查看共享。
语法:
net share 共享名=路径 [/add|/del] [/remark:"注释"]
示例:
net share docs=D:\documents # 创建共享docs
net share docs /del # 删除共享
net use
功能:映射网络驱动器或断开连接。
语法:
net use [盘符: ] \\计算机名\共享名 [密码|*] /user:用户名
示例:
net use Z: \\192.168.1.100\c$ # 映射C盘共享到Z盘
net use \\192.168.1.100\ipc$ "" /user:Administrator # 建立空连接
net use * /del # 断开所有连接
- 网络状态与配置
net view
功能:查看局域网中的计算机或共享资源。
示例:
net view # 显示所有共享计算机
net view \\192.168.1.100 # 查看指定计算机的共享
net config
功能:显示或修改服务配置。
示例:
net config server /hidden:yes # 隐藏计算机使其不在网络中显示
5.其他实用命令
net localgroup
功能:管理本地用户组。
示例:
net localgroup Administrators test /add # 将用户test加入管理员组
net time
功能:同步时间服务器。
示例:
net time \\192.168.1.100 /set # 同步指定计算机的时间
七、注意事项
- 权限问题:部分命令(如
shutdown
、磁盘格式化等)需要管理员权限,需以管理员身份运行 CMD。 - 数据安全:
del
和rd
操作不可逆,执行前请备份重要数据。 - 路径问题:输入路径时确保准确,含空格的路径需用引号括起来,如
cd "C:\Program Files"
。 - 帮助信息:输入“命令 /?”可查看该命令的详细帮助,如
dir /?
。
八、bat脚本简介
(一)什么是 BAT 脚本
BAT 脚本(Batch Script)也叫批处理脚本,文件扩展名为
.bat
或.cmd
。它是由一系列 Windows 命令按顺序组合而成的文本文件,能够自动化执行一系列系统操作,避免手动重复输入命令,提升工作效率。
(二)BAT 脚本的应用场景
- 日常任务自动化:比如文件备份、系统清理等。
- 软件部署:批量安装软件、配置环境变量等。
- 系统维护:定时执行系统检查、服务重启等操作。
九、创建与运行 BAT 脚本
(一)创建 BAT 脚本
- 使用文本编辑器:可以使用 Windows 自带的记事本或者其他专业文本编辑器(如 Notepad++)。
- 编写命令:在文本编辑器中输入要执行的命令,例如输入
echo Hello, BAT!
,这行命令的作用是在命令提示符窗口中显示Hello, BAT!
。 - 保存文件:选择“文件” - “另存为”,将文件保存为
.bat
格式,如hello.bat
。注意保存时编码选择ANSI
,防止中文显示乱码。
(二)运行 BAT 脚本
- 双击运行:在资源管理器中找到保存好的
.bat
文件,双击它即可执行脚本。 - 命令行运行:打开命令提示符,使用
cd
命令切换到脚本所在的目录,然后输入脚本文件名(如hello.bat
)并回车。
十、基本语法
(一)注释
在 BAT 脚本中,使用 rem
或者 ::
来添加注释。注释用于解释代码的功能和用途,方便后续阅读和维护。示例如下:
rem 这是使用 rem 注释的示例
:: 这是使用 :: 注释的示例
(二)命令执行
脚本中的命令会按照从上到下的顺序依次执行。例如:
echo 开始执行脚本
dir
echo 脚本执行结束
上述脚本首先输出“开始执行脚本”,接着显示当前目录下的文件和文件夹信息,最后输出“脚本执行结束”。
(三)变量
1. 系统变量
Windows 系统预定义了一些变量,使用时需要用 %
把变量名括起来。例如:
echo 当前用户的主目录是:%USERPROFILE%
%USERPROFILE%
代表当前用户的主目录路径。
2. 自定义变量
使用 set
命令来定义和赋值自定义变量,读取时同样用 %
括起来。示例如下:
set message=Welcome to BAT scripting!
echo %message%
这段代码定义了一个名为 message
的变量,并赋值为 Welcome to BAT scripting!
,然后输出该变量的值。
(四)获取用户输入
使用 set /p
命令可以获取用户的输入。示例如下:
set /p username=请输入你的用户名:
echo 你输入的用户名是:%username%
执行该脚本时,会提示用户输入用户名,用户输入后,脚本会输出用户输入的内容。
十一、流程控制语句
(一)条件判断(if
语句)
if
语句用于根据条件来决定执行哪些命令。示例如下:
set num=15
if %num% GTR 10 (
echo 数字 %num% 大于 10
) else (
echo 数字 %num% 小于等于 10
)
上述代码中,GTR
是比较运算符,表示“大于”。此外,还有 EQU
(等于)、LSS
(小于)等运算符。
(二)循环(for
语句)
1. 数字循环
使用 /l
参数可以实现数字循环。示例如下:
for /l %%i in (1,1,5) do (
echo 当前数字是:%%i
)
在脚本中使用循环变量时要使用两个 %
(如 %%i
),在命令行中使用一个 %
。这个循环会从 1 开始,每次增加 1,直到 5 结束,依次输出当前数字。
2. 文件循环
可以使用 for
语句遍历指定目录下的文件。示例如下:
for %%f in (*.txt) do (
echo 找到文本文件:%%f
)
该脚本会遍历当前目录下所有 .txt
文件,并输出它们的文件名。
十二、简单示例
(一)文件复制脚本
@echo off
rem 关闭命令回显,使输出更简洁
set source=C:\SourceFolder
set destination=D:\BackupFolder
if not exist %destination% (
md %destination%
echo 已创建备份目录:%destination%
)
for %%f in (%source%\*) do (
copy "%%f" "%destination%"
echo 已备份文件:%%f
)
echo 备份完成!
pause
这个脚本会将 C:\SourceFolder
下的所有文件备份到 D:\BackupFolder
。如果备份目录不存在,会先创建该目录。
(二)定时关机脚本
@echo off
set /p minutes=请输入关机前等待的分钟数:
set /a seconds=%minutes% * 60
shutdown -s -t %seconds%
echo 系统将在 %minutes% 分钟后关机。
用户输入关机前等待的分钟数后,脚本会将其转换为秒数,并设置系统在相应时间后关机。
通过以上内容,你可以初步了解 BAT 脚本的基本概念、创建运行方法、语法和流程控制,进而编写一些简单的自动化脚本。
-
路径问题:输入路径时确保准确,含空格的路径需用引号括起来,如
cd "C:\Program Files"
。 -
帮助信息:输入“命令 /?”可查看该命令的详细帮助,如
dir /?
。