麻烦懂的人.帮我详细解释.并修改一下这段BAT.

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:55:12
麻烦懂的人.帮我详细解释.并修改一下这段BAT.
效果好的话.本人愿意追五十分以上.
可以QQ联系172609286....注明."百度批处理".

@echo OFF

ping 192.168.0.1
if %~n0==arp exit

if %~n0==Arp exit

if %~n0==ARP exit

:IP

FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=

%%i && GOTO MAC

:MAC

echo IP:%IP%

FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set

MAC=%%i && GOTO GateIP

:GateIP

echo MAC:%MAC%

arp -s %IP% %MAC%

FOR /f "skip=17 tokens=13 usebackq " %%i in (`ipconfig /all`) do Set

GateIP=%%i && GOTO GateMac

:GateMac

echo IP:%GateIP%

FOR /f "skip=3 tokens=2 usebackq " %%i in (`arp -a %GateIP%`) do Set
GateMAC=%%i && GOTO Start

:Start
echo MAC:%GateMAC%
arp -d
arp -s %GateIP% %GateMAC%

主要是for
的用法
~I - 删除任何引号(\"),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小

然后就是/f的用法了
/f 参数将某一命令执行结果作为循环范围

然后还有一些参数的用法
加你QQ详说