excel - 执行 .bat 文件,然后输入 IP 地址,打开 PuTTY 会话,然后将有更多命令
问题描述
问题:我们列出了 1000 多个需要定期升级固件的路口。excel表有设备ID、路口名称和IP地址。
目标:我们想使用我们的 excel 目录来 ping 这些交叉设备(控制器),然后运行固件升级。批处理文件运行一个程序,该程序要求我们输入相关路口的 IP 地址,然后它会打开一个 PuTTY 会话,该会话有许多菜单可指导您完成固件升级(这些命令如“1”、“5 “, ETC)
我已经尝试了一天,如果我从 ping 中得到肯定的结果,我已经可以打开批处理文件。
当前代码:
Sub FirmwareUpgradeStatus()
'setting values of variables
Set Wks = Worksheets("Upgrade")
Set ipRng = Wks.Range("F2")
Set RngEnd = Wks.Cells(Rows.Count, ipRng.Column).End(xlUp)
Set ipRng = IIf(RngEnd.Row < ipRng.Row, ipRng, Wks.Range(ipRng, RngEnd))
Dim FirmwareUpgrade As Object
Set FirmwareUpgrade = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
'this is a loop that feeds each server from the list into the GetPingResult
function
For Each Cell In ipRng
Result = GetPingResult(Cell)
If Result = "Connected" Then
ChDir "C:\Users\C000XXXX\Desktop\maxtime_1.9.11"
FirmwareUpgrade.Run "C:\Users\C000XXXX\Desktop\maxtime_1.9.11\install.cmd /c ""Cell""", windowStyle, waitOnReturn
'Shell "C:\Users\C000XXXX\Desktop\maxtime_1.9.11\install.cmd" & "&&Cell"
End If
Next Cell
End Sub
解决方案
推荐阅读
- tensorflow - Keras 中的自定义损失函数应该返回批次的单个损失值还是训练批次中每个样本的一系列损失?
- c# - Serilog 未在 Blazor WebAssembly 中记录到 ElasticSearch
- javascript - React延迟后如何有条件地更改useEffect中的状态?
- python - 删除文本文件中的空格并就地覆盖
- javascript - 未处理的拒绝(错误):请求失败,状态码为 500
- node.js - 为什么我连续调用socket.write函数但在nodejs中只触发一次IPC Server'data'事件?
- html - 如何在引导程序中垂直对齐div
- mongodb - app.delete 不从集合中删除文档
- arrays - 如何在打字稿中的地图编号后添加“%”以进行前端反应?
- flutter - 如何检测颤振中的阻力速度?