当前位置: 首页 > article >正文

CMD批处理命令入门(4)——ping,ipconfig,arp,start,shutdown,taskkill

CMD批处理命令入门(4)——ping,ipconfig,arp,start,shutdown,taskkill

  • 本章主要内容:
  • 测试IP连接:`ping`
  • 查看 IP 配置:`ipconfig`
  • 解析地址:`arp`
  • 开启命令:`start`
  • 关闭或重启计算机:`shutdown`
  • 关闭指定进程 `taskkill`


本章主要内容:

  • 测试IP连接:ping
  • 查看IP配置:ipconfig
  • 解析地址:arp
  • 开启命令:start
  • 关闭或重启计算机:shutdown
  • 关闭指定进程:taskkill

测试IP连接:ping

用来检查网络是否通畅或者网络连接速度的命令。在此,我们只了解一些基本的参数就可以了。

用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
            [-4] [-6] target_name

选项:
    -t             Ping 指定的主机,直到停止。
                   若要查看统计信息并继续操作,请键入 Ctrl+Break;
                   若要停止,请键入 Ctrl+C。
    -a             将地址解析为主机名。
    -n count       要发送的回显请求数。
    -l size        发送缓冲区大小。
    -f             在数据包中设置“不分段”标记(仅适用于 IPv4)-i TTL         生存时间。
    -v TOS         服务类型(仅适用于 IPv4。该设置已被弃用,
                   对 IP 标头中的服务类型字段没有任何
                   影响)-r count       记录计数跃点的路由(仅适用于 IPv4)-s count       计数跃点的时间戳(仅适用于 IPv4)-j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)-k host-list    与主机列表一起使用的严格源路由(仅适用于 IPv4)-w timeout     等待每次回复的超时时间(毫秒)-R             同样使用路由标头测试反向路由(仅适用于 IPv6)。
                   根据 RFC 5095,已弃用此路由标头。
                   如果使用此标头,某些系统可能丢弃
                   回显请求。
    -S srcaddr     要使用的源地址。
    -c compartment 路由隔离舱标识符。
    -p             Ping Hyper-V 网络虚拟化提供程序地址。
    -4             强制使用 IPv4。
    -6             强制使用 IPv6。

-n 定义向目标 IP 发送数据包的次数,默认为4次。通过此命令可以收集到一些信息。如数据包返回的平均时间为多少,最快时间为多少,最慢时间为多少等等。

例1

ping -n 3 www.baidu.com
Pinging www.a.shifen.com [121.14.88.14] with 32 bytes of data:

Reply from 121.14.88.14: bytes=32 time=3ms TTL=57
Reply from 121.14.88.14: bytes=32 time=3ms TTL=57
Reply from 121.14.88.14: bytes=32 time=2ms TTL=57

Ping statistics for 121.14.88.14:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms

来分析一下吧:

Ping statistics for 121.14.88.14:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),

从这里可以知道在给 www.baidu.com 发送 3 个数据包的过程当中,返回了 3 个,没有数据包丢失。

Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms

这 3 个数据包当中返回速度最快为 2ms,最慢为 3ms,平均速度为 2ms。

例2

ping -n 11 127.0.0.1 >nul 

ping 本机11次,可用于批处理延时 10 秒。命令中的 >nul 为屏蔽输出。
简短式可以写成:

ping -n 11 127.1 >nul

-w timeout 指定超时间隔,单位为毫秒。

例3

ping 1 -n 1 -w 10000 2>nul 1>nul

批处中可以用于延时10秒。

查看 IP 配置:ipconfig

用法:
    ipconfig [/allcompartments] [/? | /all |
                                 /renew [adapter] | /release [adapter] |
                                 /renew6 [adapter] | /release6 [adapter] |
                                 /flushdns | /displaydns | /registerdns |
                                 /showclassid adapter |
                                 /setclassid adapter [classid] |
                                 /showclassid6 adapter |
                                 /setclassid6 adapter [classid] ]

其中
    adapter             连接名称
                       (允许使用通配符 * 和 ?,参见示例)

    选项:
       /?               显示此帮助消息
       /all             显示完整配置信息。
       /release         释放指定适配器的 IPv4 地址。
       /release6        释放指定适配器的 IPv6 地址。
       /renew           更新指定适配器的 IPv4 地址。
       /renew6          更新指定适配器的 IPv6 地址。
       /flushdns        清除 DNS 解析程序缓存。
       /registerdns     刷新所有 DHCP 租用并重新注册 DNS 名称
       /displaydns      显示 DNS 解析程序缓存的内容。
       /showclassid     显示适配器允许的所有 DHCP 类 ID。
       /setclassid      修改 DHCP 类 ID。
       /showclassid6    显示适配器允许的所有 IPv6 DHCP 类 ID。
       /setclassid6     修改 IPv6 DHCP 类 ID。


默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和
默认网关。

对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定
到 TCP/IP 的适配器的 IP 地址租用。

对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。

示例:
    > ipconfig                       ... 显示信息
    > ipconfig /all                  ... 显示详细信息
    > ipconfig /renew                ... 更新所有适配器
    > ipconfig /renew EL*            ... 更新所有名称以 EL 开头
                                         的连接
    > ipconfig /release *Con*        ... 释放所有匹配的连接,
                                         例如“有线以太网连接 1”或
                                             “有线以太网连接 2> ipconfig /allcompartments      ... 显示有关所有隔离舱的
                                         信息
    > ipconfig /allcompartments /all ... 显示有关所有隔离舱的
                                         详细信息

由于批处理中经常对计算机的 TCP/IP 配置信息的截取,这里我们只讲一下 /all参数就行了。

/all参数 

作用:显示所有适配器的完整 TCP/IP 配置信息。当使用 IPConfig 时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。

例1

ipconfig

Windows IP Configuration

Ethernet adapter 本地连接:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.0.73
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.254

这里显示的信息为:

  • 计算机的本地连接名称为:本地连接
  • 本机IP为:192.168.0.73
  • 子网掩码为:255.255.255.0
  • 默认网关为:192.168.0.254

例2

ipconfig /all

Windows IP Configuration

        Host Name . . . . . . . . . . . . : A-073           //计算机名称
        Primary Dns Suffix  . . . . . . . :
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地连接:                       //计算机的本地连接名称

        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : Realtek RTL8168/8111 PCI-E Gigabit E  //网卡型号
thernet NIC
        Physical Address. . . . . . . . . : 00-E0-4C-59-9B-57   //网卡的MAC地址
        Dhcp Enabled. . . . . . . . . . . : No                 
        IP Address. . . . . . . . . . . . : 192.168.0.73           //IP地址
        Subnet Mask . . . . . . . . . . . : 255.255.255.0        //子网掩码
        Default Gateway . . . . . . . . . : 192.168.0.254       //默认网关地址
        DNS Servers . . . . . . . . . . . : 61.144.56.100        //主DNS地址
                                            202.96.128.166       //副DNS地址

ipconfig 命令带有/all参数时将显示所有适配器的完整 TCP/IP 配置信息,如果你的计算机有多个网卡时,此命令都会将它们的信息一一列出来。

解析地址:arp

显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。

ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]

  -a            通过询问当前协议数据,显示当前 ARP 项。
                如果指定 inet_addr,则只显示指定计算机
                的 IP 地址和物理地址。如果不止一个网络
                接口使用 ARP,则显示每个 ARP 表的项。
  -g-a 相同。
  -v            在详细模式下显示当前 ARP 项。所有无效项
                和环回接口上的项都将显示。
  inet_addr     指定 Internet 地址。
  -N if_addr    显示 if_addr 指定的网络接口的 ARP 项。
  -d            删除 inet_addr 指定的主机。inet_addr 可
                以是通配符 *,以删除所有主机。
  -s            添加主机并且将 Internet 地址 inet_addr
                与物理地址 eth_addr 相关联。物理地址是用
                连字符分隔的 6 个十六进制字节。该项是永久的。
  eth_addr      指定物理地址。
  if_addr       如果存在,此项指定地址转换表应修改的接口
                的 Internet 地址。如果不存在,则使用第一
                个适用的接口。
示例:
  > arp -s 157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。
  > arp -a                                  .... 显示 ARP 表。

显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。

-a参数 或-g参数,用于查看高速缓存中的所有项目。-a-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp -a-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

arp -a IP

如果我们有多个网卡,那么使用 arp –a 加上对应网卡的 IP 地址,就可以只显示与该网卡相关的ARP缓存项目。缺省IP情况下,将显示所有当前 ARP 缓存表。

例1

arp -a
Interface: 192.168.0.20 --- 0x2
  Internet Address      Physical Address      Type
  192.168.0.1           00-1a-92-90-19-fe     static
  192.168.0.2           00-1a-92-90-19-eb     static
  192.168.0.3           00-1a-92-49-1c-a9     static
  192.168.0.4           00-1a-92-90-19-32     static
  192.168.0.5           00-1a-92-38-07-09     static
  192.168.0.252         00-23-54-a9-f5-4a     dynamic
  192.168.0.253         00-1d-60-1d-aa-d1     dynamic
  192.168.0.254         00-0a-eb-0d-96-ff     dynamic

分析一下上面的数据:

  • Internet Address:代表 IP 地址。
  • Physical Address:代表网卡的物理地址,即网卡的MAC地址。
  • Type:代表ARP表的类型,“dynamic”为动态的;“static”为静态的。
arp -s IP 物理地址

我们可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。通过此命令可以实现ARP绑定。

例2

arp -s 192.168.1.1 00-1a-92-90-19-fe

192.168.1.1添加静态ARP实现ARP绑定。

arp -d IP

使用本命令能够人工删除一个静态项目。可以输入arp -d命令,缺省IP情况下将删除当前计算机的arp表。在对付ARP欺骗中,我们一般先删除当前计算机的arp表,然后再实现ARP绑定。

例3

@echo off
arp –d
arp –s 192.168.0.1 00-1a-92-90-19-fe
arp –s 192.168.0.2 00-1a-92-90-19-eb
arp –s 192.168.0.3 00-1a-92-49-1c-a9
arp –s 192.168.0.4 00-1a-92-90-19-32
arp –s 192.168.0.5 00-1a-92-38-07-09
pause

开启命令:start

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
      [/MACHINE <x86|amd64|arm|arm64>][command/program] [parameters]

    "title"     在窗口标题栏中显示的标题。
    path        启动目录。
    B           启动应用程序,但不创建新窗口。
                应用程序已忽略 ^C 处理。除非应用程序
                启用 ^C 处理,否则 ^Break 是唯一可以中断
                该应用程序的方式。
    I           新的环境将是传递
                给 cmd.exe 的原始环境,而不是当前环境。
    MIN         以最小化方式启动窗口。
    MAX         以最大化方式启动窗口。
    SEPARATE    在单独的内存空间中启动 16 位 Windows 程序。
    SHARED      在共享内存空间中启动 16 位 Windows 程序。
    LOW         在 IDLE 优先级类中启动应用程序。
    NORMAL      在 NORMAL 优先级类中启动应用程序。
    HIGH        在 HIGH 优先级类中启动应用程序。
    REALTIME    在 REALTIME 优先级类中启动应用程序。
    ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
    BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
    NODE        将首选非一致性内存结构(NUMA)
                节点指定为十进制整数。
    AFFINITY    将处理器关联掩码指定为十六进制数字。
                进程被限制在这些处理器上运行。

                将 /AFFINITY 和
                 /NODE 结合使用时,会对关联掩码进行不同的解释。指定关联掩码,就将 NUMA
                节点的处理器掩码向右移位以从零位开始一样。
                进程被限制在指定关联掩码和 NUMA 节点之间的
                那些通用处理器上运行。
                如果没有通用处理器,则进程被限制在
                指定的 NUMA 节点上运行。
    WAIT        启动应用程序并等待它终止。
    MACHINE     指定应用程序进程的系统架构。

    command/program
                如果它是内部 cmd 命令或批文件,则
                该命令处理器是使用 cmd.exe 的 /K 开关运行的。
                这表示运行命令
                之后,该窗口将仍然存在。

                如果它不是内部 cmd 命令或批处理文件,则
                它就是一个程序,并将作为一个窗口化应用程序或
                控制台应用程序运行。

    parameters  这些是传递给 command/program 的参数。

基本格式:start “title” filename
其中title可以省略,filename如带有空格或是特殊符号的,用""括起来。

例1

start http://www.baidu.com

这里是打开百度,title省略了。

例2

start "" "%windir%\system32\NOTEPAD.EXE" "%userprofile%\桌面\abc.txt"

NOTEPAD(记事本)打开 桌面上的abc.txt

例3

start "" "%userprofile%\桌面\abc.doc"

这里start后面要加""才能启动文件abc.doc,否则不能启动。
如果start 后没有 " " 则表示把title省略了,此时文件名若有""的话start就会把它看作是标题,从而变成了省略文件名,就默认开启cmd了。所以在start后加上""就能防止这种意外的情况。

参数/min/max 使开启的窗口最小化和最大化。

例4

start /min "" "%windir%\system32\NOTEPAD.EXE" "%userprofile%\桌面\abc.txt"

用记事本最小化打开桌面的abc.txt

关闭或重启计算机:shutdown

用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    没有参数   显示帮助。这与键入 /? 是一样的。
    /?         显示帮助。这与不键入任何选项是一样的。
    /i         显示图形用户界面(GUI)。
               这必须是第一个选项。
    /l         注销。这不能与 /m 或 /d 选项一起使用。
    /s         关闭计算机。
    /sg        关闭计算机。在下一次启动时,如果启用了
               自动重启登录,则将自动登录并锁定上次交互用户。
               登录后,重启任何已注册的应用程序。
    /r         完全关闭并重启计算机。
    /g         完全关闭并重启计算机。重新启动系统后,
               如果启用了自动重启登录,则将自动登录并
               锁定上次交互用户。
               登录后,重启任何已注册的应用程序。
    /a         中止系统关闭。
               这只能在超时期间使用。
               与 /fw 结合使用,以清除任何未完成的至固件的引导。
    /p         关闭本地计算机,没有超时或警告。
               可以与 /d 和 /f 选项一起使用。
    /h         休眠本地计算机。
               可以与 /f 选项一起使用。
    /hybrid    执行计算机关闭并进行准备以快速启动。
               必须与 /s 选项一起使用。
    /fw        与关闭选项结合使用,使下次启动转到
               固件用户界面。
    /e         记录计算机意外关闭的原因。
    /o         转到高级启动选项菜单并重新启动计算机。
               必须与 /r 选项一起使用。
    /m \\computer 指定目标计算机。
    /t xxx     将关闭前的超时时间设置为 xxx 秒。
               有效范围是 0-315360000 (10),默认值为 30。
               如果超时期限大于 0,则 /f 参数为
               /f 参数。
    /c "comment" 注释重启或关闭的原因。
               最多允许 512 个字符。
    /f         强制关闭正在运行的应用程序而不事先警告用户。
               当大于 0 的值为
 时,隐含 /f 参数               则默示为 /f 参数。
    /d [p|u:]xx:yy  提供重新启动或关闭的原因。
               p 指示重启或关闭是计划内的。
               u 指示原因是用户定义的。
               如果未指定 p 和 u,则
重新启动或关闭               是计划外的。
               xx 是主要原因编号(小于 256 的正整数)。
               yy 是次要原因编号(小于 65536 的正整数)。

此计算机上的原因:
(E = 预期 U = 意外 P = 计划内,C = 自定义)
类别    主要    次要    标题

 U      0       0       其他(计划外)
E       0       0       其他(计划外)
E P     0       0       其他(计划内)
 U      0       5       其他故障: 系统没有反应
E       1       1       硬件: 维护(计划外)
E P     1       1       硬件: 维护(计划内)
E       1       2       硬件: 安装(计划外)
E P     1       2       硬件: 安装(计划内)
E       2       2       操作系统: 恢复(计划外)
E P     2       2       操作系统: 恢复(计划内)
  P     2       3       操作系统: 升级(计划内)
E       2       4       操作系统: 重新配置(计划外)
E P     2       4       操作系统: 重新配置(计划内)
  P     2       16      操作系统: Service Pack (计划内)
        2       17      操作系统: 热修补(计划外)
  P     2       17      操作系统: 热修补(计划内)
        2       18      操作系统: 安全修补(计划外)
  P     2       18      操作系统: 安全修补(计划内)
E       4       1       应用程序: 维护(计划外)
E P     4       1       应用程序: 维护(计划内)
E P     4       2       应用程序: 安装(计划内)
E       4       5       应用程序: 没有反应
E       4       6       应用程序: 不稳定
 U      5       15      系统故障: 停止错误
 U      5       19      安全问题(计划外)
E       5       19      安全问题(计划外)
E P     5       19      安全问题(计划内)
E       5       20      网络连接丢失(计划外)
 U      6       11      电源故障: 电线被拔掉
 U      6       12      电源故障: 环境
  P     7       0       旧版 API 关机

用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]

没有参数                显示此消息(与 ? 相同)
-i                      显示 GUI 界面,必须是第一个选项
-l                      注销(不能与选项 -m 一起使用)
-s                      关闭此计算机
-r                      关闭并重启动此计算机
-a                      放弃系统关机
-m \\computername       远程计算机关机/重启动/放弃
-t xx                   设置关闭的超时为 xx 秒
-c "comment"            关闭注释(最大 127 个字符)
-f                      强制运行的应用程序关闭而没有警告
-d [u][p]:xx:yy         关闭原因代码
                        u 是用户代码
                        p 是一个计划的关闭代码
                        xx 是一个主要原因代码(小于 256 的正整数)
                        yy 是一个次要原因代码(小于 65536 的正整数)

例1

shutdown -l

该命令只能注销本机用户,对远程计算机不适用。

例2

at 12:00 shutdown -s

通过 -s 参数,在 12:00 执行关闭计算机。

例3

shutdown -r -t 60

60 秒后重启计算机。这里是设置重启倒计时为 60 秒。如果没有设置时间则默认为 30 秒。

例4

shutdown -f -s -t 300

通过-f参数强制计算机 300 秒后关闭。

例5

shutdown -a

当我们在遇到冲击波或震荡波病毒时,或是执行了上面的关机命令时,我们可以运用shutdown -a 终止当前的关机进程,这样就可以避免关机而造成的损失了。

关闭指定进程 taskkill

Taskkill 命令可以根据进程 ID 或图像名来结束一个或多个任务或进程。

/im ImageName

指定将终止的进程的图像名称。

例1

taskkill /im qq.exe
/f process

指定将强制终止的进程。对于远程进程可忽略此参数,所有远程进程都将被强制终止。

例2

taskkill /f /im spoolsv.exe

/pid process id 指定要终止的进程的PID

例3

taskkill /pid 1230 /pid 1241 /pid 1253

这里是终止 PID 分别为 1230 1241 1253的进程。

关于 DOS 的网络命令还是蛮多的,有一些是非常强大的例如 regsvr32,netsh,sc,wmic等,这些就不多说了,希望都多动手去搜索一下相关的资料吧


http://www.kler.cn/a/499827.html

相关文章:

  • 【Unity3D】利用IJob、Burst优化处理切割物体
  • Redis 多路复用(Multiplexing)
  • git相关操作笔记
  • LLM的实验平台有哪些:快速搭建测试大语言模型
  • 【Unity-和WPF结合的优势】
  • Pixel 6a手机提示无法连接移动网络,打电话失败!
  • 太原理工大学软件设计与体系结构 --javaEE
  • 算法 -归并排序
  • Linux:操作系统简介
  • Taro+Vue实现图片裁剪组件
  • pytest+allure 入门
  • CSS:定位
  • Vue3.js中如何将响应式数据与状态管理Vuex、Pinia结合使用
  • 【adb】5分钟入门adb操作安卓设备
  • 机器学习之奥卡姆剃刀定律
  • CNN Test Data
  • 学习RocketMQ
  • git commit 命令
  • 计算机视觉:解锁未来智能世界的钥匙
  • 迪威云服务支持的3D格式转换方法详解