Board logo

标题: 为什么这个批里的arp命今执行不了呢? [打印本页]

作者: myth126     时间: 2008-7-1 13:05    标题: 为什么这个批里的arp命今执行不了呢?
@echo off :loop set time_a=%time:~7,1% set /a time_b=%time_a%+4 set time_c=%time_b:~-1% :loop2 set time_d=%time:~7,1% if %time_c% EQU %time_d% goto loop3 goto loop2 :loop3 arp -s 192.168.1.9 00-1d-0f-96-96-df goto loop 上面是我写的一个批处理,用来循环邦定arp地址对应表!我用了很多方法测试,得到其它代码都运行正常,可就是arp -s 192.168.1.9 00-1d-0f-96-96-df这一行运行不成功(可以通过这行代码但就是没有效果!),不知道是为什么?而且我试过把这行代码单独放在一个文件中,分别用call去调用,用start去打开(包括用start多级打开)都不行!更奇怪的是用start去打开包含arp -s 192.168.1.9 00-1d-0f-96-96-df的文件时居然会陷入死循环,把主调用程序关闭了,死循环也不会停止,这真是太奇怪了!还有就是把arp -s 192.168.1.9 00-1d-0f-96-96-df这行代码单独放在一个文件中如果和上面的那些代码所在的文件在同一个目录时,如果单独执行arp -s 192.168.1.9 00-1d-0f-96-96-df这行代码所在的文件就执行不了(黑框停在那不动了,查arp地址表也没有变化),如果把这个文件放在其它目录就没有这个问题了!这实在让人难以理解!请各位大侠帮忙解快一下!小弟先谢过了!

作者: balinger     时间: 2008-7-1 16:05
你是不是把批文件命名为arp.bat?

作者: myth126     时间: 2008-7-1 16:23
哦!是的呀!文件名和代码运行有关系?

作者: myth126     时间: 2008-7-1 16:32
问题解决了!谢谢了!

作者: balinger     时间: 2008-7-1 16:37
自己调用自己,循环啦。 当前目录优先,然后才是系统默认路径。