`

Super tool - VBA

 
阅读更多

Public privateKey As String

 

Public puttyPath As String

Public plinkPath As String

Public winSCPPath As String

Public pscpPath As String

 

Public Const instanceIdColNum As Integer = 6

Public Const svrColNum As Integer = 4

Public Const acctColNum As Integer = 5

Public Const lPathColNum As Integer = 8

Public Const rPathColNum As Integer = 9

 

Public list_instance As String

 

Sub init()

 

privateKey = Sheets(2).Cells(4, 2).Value

puttyPath = Sheets(2).Cells(5, 2).Value

plinkPath = Sheets(2).Cells(6, 2).Value

winSCPPath = Sheets(2).Cells(7, 2).Value

pscpPath = Sheets(2).Cells(8, 2).Value

 

End Sub

 

Function getServerRowNum(ByVal rowNum)

 

    Dim currentRowNum, currentServerRowNum

    

    If rowNum = 0 Then

        currentRowNum = ActiveCell.Row

    Else

        currentRowNum = rowNum

    End If

    

    currentServerRowNum = currentRowNum

    

    Do While Cells(currentServerRowNum, svrColNum) = ""

        currentServerRowNum = currentServerRowNum - 1

    Loop

    

    getServerRowNum = currentServerRowNum

    

End Function

 

Sub runPutty()

 

    init

    

    Call Shell("""" & puttyPath & """" & " -i " & """" & privateKey & """ " & Cells(ActiveCell.Row, acctColNum) & "@" & Cells(getServerRowNum(0), svrColNum), vbNormalFocus)

 

End Sub

 

Sub runWinSCP()

 

    init

    

    Call Shell(winSCPPath & " scp://" & Cells(ActiveCell.Row, acctColNum) & "@" & Cells(getServerRowNum(0), svrColNum) & ":22 /privatekey=""" & privateKey & """", vbNormalFocus)

    

End Sub

 

Sub runCommand(ByVal cmd)

 

    init

    

    getInstanceList

    

    Call Shell("""" & plinkPath & """ -i """ & privateKey & """ " & Sheets(2).Cells(1, 2).Value & "@" & Sheets(2).Cells(1, 1).Value & " " & """" & cmd & " " & list_instance & "; read;""", vbNormalFocus)

    Rem MsgBox ("""" & plinkPath & """ -i """ & privateKey & """ " & Sheets(2).Cells(1, 2).Value & "@" & Sheets(2).Cells(1, 1).Value & " " & """" & cmd & " " & list_instance & """")

 

End Sub

 

Sub getInstanceList()

 

    Dim rows_selected

     

    For Each area In Selection.Areas

        For Each r In area.Rows

            If Not r.Row = 1 And Not r.Hidden Then

                rows_selected = r.Row & "," & rows_selected

            End If

        Next

    Next

     

    Rem MsgBox (rows_selected)

     

    Dim list_rows

    

    i = 3

    Do While i < 200

        If Not InStr(rows_selected, "," & i & ",") = 0 Or InStr(rows_selected, i & ",") = 1 Then

            list_rows = list_rows & i & " "

        End If

        i = i + 1

    Loop

     

    list_rows = RTrim(list_rows)

    

    list_instance = ""

    

    For Each i In Split(list_rows, " ")

        list_instance = list_instance & Cells(i, instanceIdColNum).Value & " "

    Next

    list_instance = RTrim(list_instance)

    

    Rem MsgBox (list_instance)

 

End Sub

 

Sub runDownload()

 

    runCommand ("./util/1_getEAR.sh " & Sheets(2).Cells(2, 2).Value & " '" & Sheets(2).Cells(3, 2).Value & "'")

 

End Sub

 

Sub runStop()

 

    runCommand ("./util/2_stop.sh")

 

End Sub

 

Sub runDeploy()

 

    runCommand ("./util/3_deploy.sh")

 

End Sub

 

Sub runStart()

 

    runCommand ("./util/4_start.sh")

 

End Sub

 

Sub runStopNodeAgent()

 

    runCommand ("./util/stopNodeAgent.sh")

 

End Sub

 

Sub runStartNodeAgent()

 

    runCommand ("./util/startNodeAgent.sh")

 

End Sub

 

Sub runStopDmgr()

 

    runCommand ("./util/stopDmgr.sh")

 

End Sub

 

Sub runStartDmgr()

 

    runCommand ("./util/startDmgr.sh")

 

End Sub

 

Sub runKill()

 

    runStopNodeAgent

    

    runCommand ("./util/killInstances.sh")

 

    runStartNodeAgent

 

End Sub

 

Sub uploadProperty()

 

    init

    

    Dim rows_selected

     

    For Each area In Selection.Areas

        For Each r In area.Rows

            If Not r.Row = 1 And Not r.Hidden Then

                rows_selected = r.Row & "," & rows_selected

            End If

        Next

    Next

     

    Rem MsgBox (rows_selected)

     

    Dim list_rows

    

    i = 3

    Do While i < 200

        If Not InStr(rows_selected, "," & i & ",") = 0 Or InStr(rows_selected, i & ",") = 1 Then

            Call Shell("""" & pscpPath & """" & " -i " & """" & privateKey & """ -p -r """ & Cells(i, lPathColNum) & """ " & Cells(i, acctColNum) & "@" & Cells(getServerRowNum(i), svrColNum) & ":""" & Cells(i, rPathColNum) & """", vbNormalFocus)

            Rem MsgBox ("""" & pscpPath & """" & " -i " & """" & privateKey & """ -p -r """ & Cells(i, lPathColNum) & """ " & Cells(i, acctColNum) & "@" & Cells(getServerRowNum(i), svrColNum) & ":""" & Cells(i, rPathColNum) & """")

        End If

        i = i + 1

    Loop

    

End Sub

 
分享到:
评论

相关推荐

    SuperSU-v2.49.zip

    《SuperSU-v2.49.zip:掌握ROOT权限的关键步骤》 在Android系统的世界里,"ROOT"一词是许多高级用户耳熟能详的概念。它代表了对设备的最高权限,允许用户访问并修改系统级别的文件,实现个性化设置、优化性能、安装...

    SuperSU-v2.82.zip

    《SuperSU-v2.82.zip:Android逆向工程中的超级用户权限管理》 SuperSU-v2.82.zip是一个针对Android系统的权限管理工具,它主要用于授予或限制应用程序的超级用户(root)权限。在深入探讨这个压缩包之前,我们需要...

    SR5-SuperSU-v2.82-SR5-20171001224502

    《SuperSU v2.82 SR5:深入解析与应用》 SuperSU是一款知名的权限管理工具,主要用于Android设备上的root权限获取。此版本"SR5-SuperSU-v2.82-SR5-20171001224502"是官方在2017年10月1日发布的最新更新,它旨在提升...

    SuperSU-v2.8.2.zip

    1、下载好的资源在/Users/newmanzhou/Downloads/study_space/Android/SR5-SuperSU-v2 安装App 后打开,退出 2、先以root方式运行adb adb root adb remount adb -e push /Users/mac02/Downloads/SuperSU-v2.79-...

    SuperSU-v2.79安装包

    **SuperSU v2.79 安装包详解** 在Android操作系统中,Root权限是一种高级权限,它允许用户对系统进行深度级别的访问和修改。SuperSU是一款著名的Root权限管理工具,由Chainfire开发,旨在帮助用户更安全、方便地...

    UPDATE-SuperSU-v2.76-20160630161323.zip

    【标题】"UPDATE-SuperSU-v2.76-20160630161323.zip" 是一个更新版本的SuperSU软件包,发布于2016年6月30日。这个文件是为Android设备提供root权限管理的重要工具。 【描述】提到的内容解释了如何安装这个SuperSU v...

    TS Supertool-crx插件

    "TS Supertool-crx插件"是一款专为Chrome浏览器设计的扩展程序,它主要针对英语用户群体。这款插件的主要功能是提供日志模板填充服务,帮助用户更有效地管理和填写工作日志,提高工作效率。 在最新版本5.7.3中,...

    UPDATE-SuperSU-v1.43.zip

    《SuperSU v1.43:为N7100设备开启Root权限之旅》 在Android世界里,"ROOT"一词对许多爱好者而言,意味着更自由的操作空间和深度定制的可能性。UPDATE-SuperSU-v1.43.zip是一个专门为N7100设备设计的ROOT包,它为...

    UPDATE-SuperSU-v2.01

    "UPDATE-SuperSU-v2.01" 是一个针对 Android 操作系统的权限管理工具 SuperSU 的更新版本。SuperSU 允许用户对设备上的应用程序进行超级用户(root)级别的访问控制,是Android开发者和高级用户常用的工具之一。下面...

    PyPI 官网下载 | covid19-supermarket-abm-0.0.4.tar.gz

    《PyPI官网下载:covid19-supermarket-abm-0.0.4.tar.gz——探索Python库的奥秘》 在信息技术日新月异的今天,Python作为一种强大且易学的编程语言,已经成为数据科学、人工智能以及各种领域的重要工具。PyPI...

    SR5-SuperSU-v2.82-SR5-20171001224502.zipS

    需要配合 TWRP 使用。参见:https://blog.csdn.net/tabactivity/article/details/88355317 下载后push到手机,进入TWRP,选择 install 安装该文件,重启手机即可获得root权限

    SuperPoint-SLAM-master.zip

    《SuperPoint-SLAM:深度学习与视觉定位的融合》 在现代计算机视觉领域,Simultaneous Localization and Mapping(SLAM)技术占据了至关重要的地位。SLAM是指机器人或设备在未知环境中自主构建地图并同时估计自身...

    SuperSU-v2.65-

    《SuperSU v2.65:安卓系统的超级用户权限管理详解》 在移动设备的世界里,SuperSU是一款广受欢迎的工具,它为Android系统提供了对超级用户权限的全面管理。标题中的"SuperSU-v2.65-"指的是该软件的一个特定版本,...

    UPDATE-SuperSU-v1.25

    "UPDATE-SuperSU-v1.25" 是一个更新版本的 SuperSU 软件,主要针对 Android 设备。SuperSU 是一款非常知名的 root 权限管理工具,它允许用户对设备进行高级权限控制,例如修改系统文件、安装自定义固件等。此更新...

    SuperSU-v2.82 卡刷包和apk

    《SuperSU-v2.82:获取Android设备超级用户权限详解》 在移动设备的世界里,SuperSU是一款广受欢迎的工具,它允许用户获取并管理Android设备的root权限。本文将详细探讨SuperSU v2.82的卡刷包和apk文件,以及如何在...

    Fast-Single-Image-Superresolution-master_SuperResolution_multi-i

    1. **超分辨率算法**:可能包括传统的基于插值的算法,如最近邻插值和双线性插值,以及基于学习的方法,如深度学习模型,例如SRCNN(Super-Resolution Convolutional Neural Network)、VDSR(Very Deep Super-...

    SuperSU-v2.37.zip

    "SuperSU-v2.37.zip" 是一个包含SuperSU软件更新的压缩文件,主要用于Android设备的root权限管理。SuperSU是由Chainfire开发的一款著名的权限管理应用,它允许用户对设备上的应用程序进行超级用户级别的控制,即赋予...

    Superuser-3.1.2-arm-signed

    "Superuser-3.1.2-arm-signed" 是一个针对Android设备的ROOT工具包,主要用于获取设备的超级用户权限。在Android系统中,root权限类似于Linux系统的管理员权限,允许用户对系统进行深度定制和修改,比如删除预装应用...

    SuperSU-v2.82-SR5-.zip

    标题中的"SuperSU-v2.82-SR5-.zip"指的是SuperSU的特定版本,这是一个流行的Android系统权限管理工具,用于获取设备的root权限。SuperSU允许用户完全控制他们的Android设备,包括安装自定义固件、修改系统设置以及...

    刷机包BETA-SuperSU-v2.11.zip

    【标题】"刷机包BETA-SuperSU-v2.11.zip" 是一个针对Android设备的第三方权限管理工具,SuperSU的更新版本。SuperSU允许用户获取Root权限,即最高级别的系统访问权限,以便对手机进行深度定制和优化。 【描述】中...

Global site tag (gtag.js) - Google Analytics