2012-08-02 235 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