检查命令结果是否正常的命令是什么?


2

好吧,所以我正在玩改变MTU大小,想要制作一个批处理文件来自动降低它,然后再提高它。
这可能很简单,但我无法弄清楚。点是,有没有办法运行一个命令,通常会回显“确定”,但检查它是否确实说好吗?如果它没有说好,那么结束文件的其余部分就可以运行并退出。
我正在使用的命令是netsh interface ipv4 set subinterface "Local Area Connection" mtu=386 store=persistent,正如我上面提到的打印出一个OK。我只想检查它是否运行正确,如果没有,那么______

Answers:


2

如果netsh成功,它将返回错误级别0(与大多数命令行实用程序一样),本质上意味着“无错误”。

因此,您应该能够使用命令行iferrorlevel完成批处理文件中的检查。就像是:

@echo off
netsh interface ipv4 set subinterface "Local Area Connection" mtu=386 store=persistent
if errorlevel 0 goto END

:ERRORHANDLER
echo Error Detected - do stuff to fix it.
goto END

:END
echo Done!

0

简单的答案是通过'grep'管道输出并测试'grep'的输出:

netsh interface ipv4 set subinterface“Local Area Connection”mtu = 386 store = persistent | grep OK || 退出1

通常,如果出现错误,程序也会返回非零退出代码(如果在上面的情况下找不到您要搜索的文本,则与'grep'相同)。我不知道netsh是否会这样做,但你可以测试一下非法的值(如1000000000000)。如果是这样,你可以做一些稍微简单的事情:

netsh interface ipv4 set子接口“Local Area Connection”mtu = 386 store = persistent || 退出1


使用grep,如果找不到文本,你可以退出吗?
Manuel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.