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
等,这些就不多说了,希望都多动手去搜索一下相关的资料吧