2012-08-02 244 views
2

我需要在Windows上执行两个指令7启动(与.bat文件):执行命令

route delete 0.0.0.0 192.168.5.201 
route -p add 192.168.4.0 mask 255.255.0.0 192.168.5.201 

如果第一条路线不会对系统中存在 - .bat文件不执行正常。第一个命令在无限循环上执行。 我如何检查这条路线是否存在然后执行第一条命令?

P.S.或者也许有另一种方式来做到没有.bat文件?

回答

3

我不能在这里重现无限循环;对我来说,它只是出现一个错误。

但是你可以用

route print 0.0.0.0 192.168.5.201 

但是检查一个特定的路线,单独将不足以作为route退出代码始终是0。所以,你通过findstr必须管:

route print 0.0.0.0 192.168.5.201 | findstr 192.168.5.201 

之后,您可以检查errorlevel

if not errorlevel 1 route delete 0.0.0.0 192.168.5.201 

或连锁命令:

route print 0.0.0.0 192.168.5.201 | findstr 192.168.5.201 && route delete 0.0.0.0 192.168.5.201 
+0

我应该怎么做“route print 0.0.0.0 192.168.5.201 | findstr 192.168.5.201“?将它传递给”IF“语句?如果我只是将其粘贴到.bat文件中,则会在此步骤中找到它。 – LLAlive 2012-08-02 15:39:47

+0

无论是该行还是后面的'if'或我给出的最后一行 – Joey 2012-08-02 16:49:48

+2

I我的错是这个文件的名字是“route.bat”)。route print | findstr 192.168.5.201 && route delete 0.0.0.0 192.168.5.201 works just fine。thx – LLAlive 2012-08-03 08:17:43