批处理有些地方看不懂

来源:百度知道 编辑:UC知道 时间:2024/05/13 04:22:36
1 @echo off
2 ipconfig /all >ipconfig.txt
3 find "Physical Address" ipconfig.txt >UserMac.txt
4 for /f "skip=2 tokens=12" %%M in (UserMac.txt) do set Mac=%%M
5 find "IP Address" ipconfig.txt >UserIP.txt
6 for /f "skip=2 tokens=15" %%N in (UserIP.txt) do set ip=%%N
7 arp -d
8 arp -s %IP% %MAC%
9 del ipconfig.txt UserMac.txt UserIP.txt
10 @cls
11 @echo.
12 @echo IP、MAC地址已绑定,请按任意键结束...
13 pause >nul
解释如下:
1 运行时屏幕不显
2 取本机IP配置信息,存在当前运行目录生成文件名ipconfig.txt
3 在生成ipconfig.txt文件中,查找物理地址也就是MAC地址,存到文件名UserMac.txt
4 这句开始有点看不懂了,他的命令和参数都看不太懂,只知道大体意思好像是在赋值 让Mac等于mac地址,能指点下吗命令参数何解啊
5 查找ipconfig文本文档中的ip地址,把查到的ip生成UserIP.txt
6 这句同第4句一样了也看不懂了
7 好像是arp删除
8 把取到的ip和mac 进行arp 绑定
9 删除临时生成的三个文本文件
10 清屏
11 @echo.这句不知道什么意思
12 提示信息
13 暂停>空????这句什么意思??

这段批处理应该只是给本机进行IP与MAC的本机绑定实际作用体现在哪呢?
if %~n0==arp exit 这句

4 for /f "skip=2 tokens=12" %%M in (UserMac.txt) do set Mac=%%M
如果你的UserMac.txt文件中有 124这个字符串的话
mac=124
其实就是一行一行的读取那个文本文件,并传送到for循环中

11 @echo.这句不知道什么意思
就是显示一个空行
如果单单一个echo的话,显示的不是空行。

13 pause >nul
就是把pause显示的那个“按任意键继续”发送到空值中,所以就不回显那几个字了。