Mongoosej.Blog.Software.System Software.Operating System.Windows.DOS


CMD Dictionary

The command has a few little tricks that can save you lots of unnecessary typing.

ping

ping是Windows,Unix,Linux系统下的一个命令,属于tcp/ip协议族的一部分,可以很好的帮助我们分析和判断网络故障。
在Windows中,ping命令语法如下:

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

多网卡ping指定源IP

如果存在多网卡,如果ping时需要指定源IP,则可以使用-S参数(注意S大写)来指定源地址。

例如:cmd>ping -S 123.123.123.123 172.16.194.216

bat parameter

transmit parameter

批处理命令可以像C语言的函数一样使用参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串,相当于DOS命令的命令行参数。
这需要用到一个参数表示符%,%[1-9]表示参数。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。
例如,在C盘根目录下有一批处理文件名为test.bat,内容为:

  1. @echo off
  2. echo transmit para1 is:%1

如果执行C:\>test abc
那么在执行test.bat时,%1就表示字符串abc,这样echo transmit para1 is:%1 就相当于echo transmit para1 is:abc,于是上面的命令运行的实际执行结果是:transmit para1 is:abc

check parameter

批处理传参的时候,如果未指定参数,该如何判断?
同样以上面的例子为例说明。
如果执行C:\>test
那么在执行test.bat时,%1表示的是空,类似于Java中的null,这样echo transmit para1 is:%1 就相当于echo transmit para1 is:,于是上面命令运行的实际执行结果是:transmit para1 is:

在实际应用中,可能更需要做的是判断%1参数是否存在,这里有两个方法:
if "%1"=="" do something
if defined %1 do something

FAQ