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

embedded/2025/1/11 13:19:46/

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=57Ping 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

ipconfigWindows IP ConfigurationEthernet adapter 本地连接:Connection-specific DNS Suffix  . :IP Address. . . . . . . . . . . . : 192.168.0.73Subnet Mask . . . . . . . . . . . : 255.255.255.0Default Gateway . . . . . . . . . : 192.168.0.254

这里显示的信息为:

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

例2

ipconfig /allWindows IP ConfigurationHost Name . . . . . . . . . . . . : A-073           //计算机名称Primary Dns Suffix  . . . . . . . :Node Type . . . . . . . . . . . . : UnknownIP Routing Enabled. . . . . . . . : NoWINS Proxy Enabled. . . . . . . . : NoEthernet adapter 本地连接:                       //计算机的本地连接名称Connection-specific DNS Suffix  . :Description . . . . . . . . . . . : Realtek RTL8168/8111 PCI-E Gigabit E  //网卡型号
thernet NICPhysical 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 --- 0x2Internet Address      Physical Address      Type192.168.0.1           00-1a-92-90-19-fe     static192.168.0.2           00-1a-92-90-19-eb     static192.168.0.3           00-1a-92-49-1c-a9     static192.168.0.4           00-1a-92-90-19-32     static192.168.0.5           00-1a-92-38-07-09     static192.168.0.252         00-23-54-a9-f5-4a     dynamic192.168.0.253         00-1d-60-1d-aa-d1     dynamic192.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.ppmy.cn/embedded/153018.html

相关文章

c#编写基于ffmpeg的视频裁剪

c#编写基于ffmpeg的视频裁剪 前言展示① 压缩裁剪② 批量处理③ 自定义命令④ 配置管理⑤ 执行日志 功能实现思路① 帧预览② 框选区域③ picturebox&#xff0c;Zoom模式&#xff0c;让图片显示靠边显示④ 时间区间选择进度条⑤ 配置和缓存 代码链接最后 前言 c#编写的一个基…

【AJAX详解】

AJAX详解 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种创建交互式网页应用的网页开发技术。它允许在不重新加载整个页面的情况下&#xff0c;通过后台与服务器交换数据并更新部分网页内容。这提供了更流畅的用户体验&#xff0c;因为用户不需要等待整个…

通过gradle发布aar或jar携带sources-jar到maven nexus

找了很久&#xff0c;没有找到满意的。终于找到一个好的办法。 gradle7.x适用。比以前的写法简洁。 发布传统的jar工程 比如okhttp&#xff0c;fastjson等项目&#xff0c;纯java工程。 直接创建新文件publish.gradle: apply plugin: maven-publishProperties properties …

SQLite 调试与性能优化指南

在前几篇文章中&#xff0c;我们深入了解了 SQLite 的基础和高级功能&#xff0c;以及如何利用其扩展能力。本篇文章将重点讲解 SQLite 的调试工具和性能优化技巧&#xff0c;以帮助您解决常见问题并进一步提升数据库性能。 常见问题及解决方法 SQLite 的轻量级特性使其非常易…

STM32按键中断案例(基于寄存器)

目录 引言 一、案例需求描述 二、硬件电路设计 2.1 LED硬件电路 2.2 按键硬件电路 三、软件设计 3.1 相关寄存器介绍 3.1.1 时钟相关寄存器 3.1.2 配置寄存器 3.1.3 输入数据寄存器 3.1.4 AFIO引脚复用相关 3.1.5 EXTI配置 3.1.6 清除中断标志位 3.2 工程创建 &…

【C++/控制台】2048小游戏

源代码&#xff1a; #include <iostream> #include <windows.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <conio.h> #include <time.h>// #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)…

单向循环链表的约瑟夫环问题

编号为1到n的n个人围成一圈。从编号为1的人开始报数&#xff0c;报到m的人离开。下一个人继续从1开始报数。n-1轮结束以后&#xff0c;只剩下一个人&#xff0c;问最后留下的这个人编号是多少&#xff1f; typedef struct ListNode {int val;struct ListNode* next; }ListNode…

Angular 最新版本和 Vue 对比完整指南

1. Angular 最新版本 当前 Angular 最新稳定版本是 Angular 17(2024年初) 2. 主要区别对比表 特性 | Angular | Vue 框架类型 | 完整框架 | 渐进式框架 默认语言 | TypeScript | JavaScript/TypeScript 数据处理 | RxJS | Promise/async/await 架构特点 | 依赖注入,…