【发布时间】:2022-01-02 15:40:30
【问题描述】:
我想用
ping -n 1 8.8.8.8 | findstr /r /c:"[0-9] *ms"
在继续我的代码之前检查是否可以连接互联网。但是在文件中使用时它不起作用。
当我在新的命令提示符中手动输入此命令时,它会按预期工作。当它在文件中使用时,它会“有点卡”在这一行并且什么都不做,就好像它会等待永远不会发生的事情一样。关于这个问题是什么和/或如何解决它的任何想法?谢谢
【问题讨论】:
-
.bat和.cmd,两者都进行了测试。两者都具有相同的结果:看似“等待”并且没有进展 -
我创建了一个单独的文件只是为了测试它并排除其他东西:在这个文件中只有 ping 命令后跟一个“暂停”。但由于我看不到“按任意键继续”提示,我认为这不是问题
-
分别称为
test.bat和test.cmd -
我看不出那条线有什么问题。该目录中是否有任何名为 ping 的文件?我建议你把你的脚本改成这样:
ping.exe -n 1 8.8.8.8 | findstr /r /c:"[0-9] *ms"强制它使用ping.exe -
此外,
findstr也会给您带来麻烦。我会使用命令的错误级别而不是ping.exe -n 1 8.8.8.8 2>&1 >nul && echo Success || echo Oops
标签: batch-file cmd