2

I need execute two commands on Windows 7 startup (with .bat file):

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

If first route doesn't exists on system - .bat file doesn't executes properly. First command executes on infinity loop. How can i check if this route exists and then execute first command?

P.S. or maybe there is another way to do it without .bat file?

4

1 に答える 1

3

ここでは無限ループを再現できません。私にとっては、エラーで終了します。

しかし、あなたは特定のルートをチェックすることができます

route print 0.0.0.0 192.168.5.201

ただし、の終了コードは常に0であるため、これだけでは十分ではありません。routeしたがって、パイプを使用する必要があります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
于 2012-08-02T15:24:10.987 に答える