打开多个ping并发送重启命令

时间:2013-12-05 11:12:40

标签: windows batch-file cmd ping shutdown

我试图在某些位置打开一些特定大小的常量ping窗口,并向每个窗口发送重启命令。然后rdp到另一台服务器并自动重启它(这个服务器不在同一个域,我不能ping它)。全部来自批处理文件。

这是我到目前为止所做的:

启动cmd / k ping x.x.x.x -t

启动cmd / k ping y.y.y.y -t

启动cmd / k ping z.z.z.z -t

shutdown -r -f -m \ x.x.x.x

shutdown -r -f -m \ y.y.y.y

shutdown -r -f -m \ z.z.z.z

mstsc c:\ srv1.rdp

现在这些ping窗口相互打开。并试图让srv1自行重启是不成功的。我试过在srv1上创建一个批处理文件,然后在rdp文件中告诉它打开这个程序,但是无法让它工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我可以帮助你定位窗户。另一部分与我无关。

@echo off
setlocal

set "Server1=x.x.x.x"
set "Server2=y.y.y.y"   

echo shutdown -r -f -m \\%server1%
call :PosWindows 0 100 %server1% "Pinging %server1%"
echo shutdown -r -f -m \\%server2%
call :PosWindows 0 500 %server2% "Pinging %server2%"
exit /b


:PosWindows xpos ypos serverip title
set /a "pos=(%2 << 16) + %1"
>nul reg add "hkcu\console\%~4" /v WindowPosition /t REG_DWORD /d "%pos%" /f
>%3.cmd echo.@echo off
>>%3.cmd echo.ping %3 -t
start "%~4" cmd /k "%3.cmd"
del /q "%3.cmd"
exit /b

只需添加任意数量的服务器,并将Ypos设置为比以前更大的数字。