如何将Linux shell脚本转换为Windows批处理文件?

时间:2015-04-18 04:51:03

标签: linux shell batch-file

我想将此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

2 个答案:

答案 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