CMD基础命令


Windows CMD 命令实用教程

一、CMD 快速入门

(一)CMD 概述

CMD,即命令提示符,是 Windows 系统提供的强大文本操作界面。借助输入特定命令,用户能完成诸如文件管理、系统配置等各种任务,尤其适用于批量和自动化操作,极大提升工作效率。

(二)开启 CMD 的方法

  1. 常规开启:按下 Win + R 组合键,弹出“运行”对话框,输入 cmd 后回车,即可打开 CMD 窗口。
  2. 管理员权限开启:在开始菜单中找到“命令提示符”,右键点击并选择“以管理员身份运行”。当执行如系统配置更改、磁盘管理等需要高权限的操作时,此方式必不可少。

二、基础操作命令

(一)查看目录内容: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 盘依次创建 TempTestSubTest 目录。

(六)删除目录: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                   # 断开所有连接
  1. 网络状态与配置
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。
  • 数据安全delrd 操作不可逆,执行前请备份重要数据。
  • 路径问题:输入路径时确保准确,含空格的路径需用引号括起来,如 cd "C:\Program Files"
  • 帮助信息:输入“命令 /?”可查看该命令的详细帮助,如 dir /?

八、bat脚本简介

(一)什么是 BAT 脚本

BAT 脚本(Batch Script)也叫批处理脚本,文件扩展名为 .bat.cmd。它是由一系列 Windows 命令按顺序组合而成的文本文件,能够自动化执行一系列系统操作,避免手动重复输入命令,提升工作效率。

(二)BAT 脚本的应用场景

  • 日常任务自动化:比如文件备份、系统清理等。
  • 软件部署:批量安装软件、配置环境变量等。
  • 系统维护:定时执行系统检查、服务重启等操作。

九、创建与运行 BAT 脚本

(一)创建 BAT 脚本

  1. 使用文本编辑器:可以使用 Windows 自带的记事本或者其他专业文本编辑器(如 Notepad++)。
  2. 编写命令:在文本编辑器中输入要执行的命令,例如输入 echo Hello, BAT!,这行命令的作用是在命令提示符窗口中显示 Hello, BAT!
  3. 保存文件:选择“文件” - “另存为”,将文件保存为 .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 /?