win2003 命令行工具 waitfor 的使用

服务器端:
@echo off
setlocal enableextensions enabledelayedexpansion
set fn=MsgMonitor
set img=%fn%.exe
set sigStart=start%fn%
set sigKill=kill%fn%
set sigOk=OK
set destMa=172.168.5.222
set destUser=hhgg
set destPwd=whgshh
:first
echo %img% 发布程序服务端 0.1
tasklist | find "%img%"
if ERRORLEVEL 1 (
  start %img%
  )

echo 无限期等待 %sigKill% 信号……
waitfor %sigKill%
taskkill %img%
echo 向 %destMa% 发送 %sigOK
waitfor /S %destma% /U %destUser% /P %destPwd% /SI %sigOK%
echo 无限期等待 %sigStart% 信号……
waitfor %sigStart%
start %img%
echo 向 %destMa% 发送 %sigOK
waitfor /S %destma% /U %destUser% /P %destPwd% /SI %sigOK%
goto first
@echo on


客户端:

@echo off
setlocal enableextensions enabledelayedexpansion
set fn=MsgMonitor
set img=%fn%.exe
echo %img% 发布程序客户端 0.1
set sigStart=start%fn%
set sigKill=kill%fn%
set sigOk=OK
set destMa=172.168.99.240
set destUser=Administrator
set destPwd=cti-server
rem taskkill /IM %IMG% /U Administrator /P cti-server /S //172.168.99.240
echo 发送 %sigKill% 到 %destMa%,让 %destMa% 杀死 %img%
waitfor /S %destMa% /U %destUser% /P %destPwd% /SI %sigKill%
if ERRORLEVEL 1 goto end
echo 等待 %destMa% 响应 %sigOK%
waitfor /T 60 %sigOK%
if ERRORLEVEL 1 (
  echo 等待超时,%destMa% 上可能没有启动 %img% 发布服务。
  goto end
  )
echo 发布 %img%
copy Release_jTTS/%IMG% //172.168.99.240/C$/IVR/MsgMonitor /-Y
echo 向 %destMa% 发送 %sigStart%
waitfor /S %destMa% /U %destUser% /P %destPwd% /SI %sikStart%
echo 等待响应 %sigOK%
waitfor /T 60 %sigOK%
if ERRORLEVEL 1 (
  echo 等待超时,%destMa% 上可能没有启动 %img% 发布服务。
  goto end
  )
echo 发布成功
:end
endlocal
@echo on

工作说明:
  首先无限期等待客户端发送 sigKill 信号,收到此信号后,用 taskkill 杀死名字是 img 的进程,然后向客户端发送 sigOK,客户端此时更新 img 程序,更新完毕后再向服务端发送 sigStart,服务器收到 sigStart 后,启动 img 程序,然后向客户端发送 sigOK 信号。
使用说明:
  把 img 设置为你的程序的名字。
问题:
  服务端和客户端必须在同一网段内,比如 172.168.5.222 和 172.168.5.223可以互相发送同步信号,但是 172.168.5.222 和 172.168.99.240就不能互发同步信号,虽然他们在同一子网内。有谁知道如何解决吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值