我想将此shell脚本转换为Windows批处理文件。我怎么能这样做?
#!/bin/bash
linkreboot="http://admin:admin123!@192.168.1.1/rebootinfo.cgi"
# ping google
ping="ping -c 1 -w 3 -q www.google.ch"
if $ping | grep -E "min/avg/max/mdev" > /dev/null
then
# ping is ok
echo 'connection is ok'
else
# ping is down, reboot
/usr/bin/wget -O /dev/null $linkreboot
# if no web reboot is allowed
echo 'No valid ping, reboot'
fi
答案 0 :(得分:1)
启动命令提示符。
从ping
脚本中键入bash
命令,看看它是如何工作的。如果卡住了,请输入
ping /?
如果有,请输入
findstr /?
计算grep
的等效值并运行
ping ... | findstr ...
然后断开路由器与Internet的连接,并查看网络关闭时它的变化情况。
Google wget
并安装它。查看使用wget
从Internet断开连接时是否可以重新启动路由器。
如果您遇到困难或需要示例,请使用http://ss64.com/nt/。
答案 1 :(得分:0)
你可以从here下载已编译的linux命令
然后在批处理文件中使用那个
在批处理文件语法非常复杂但powershell你可以
对于批处理文件中的ping,您应该使用
@echo off
Ping www.google.ch -n 1 -w 1000
if errorlevel 1 echo Not connected
然后使用wget命令 在powershell中,您可以使用:
$server = "www.google.ch"
$linkreboot="http://admin:admin123!@192.168.1.1/rebootinfo.cgi"
$date = Get-Date
if (test-Connection $Server -Count 1 -Quiet )
{ write-host "connection is ok"
}
else{
wget $linkreboot
}
else {
write-host "No valid ping, reboot"
注意:在运行脚本的powershell中,您应该更改execution-policy