コマンドの出力を読み取ってから、受け取ったリストに基づいて複数のコマンドを実行する Python スクリプトを取得しようとしています。私は通常、VBS や Python を作成しないので、行き詰まっています。(それは醜いです)
def Main():
objTab = crt.GetScriptTab()
objTab.Screen.Synchronous = True
objTab.Screen.IgnoreEscape = True
objTab.Screen.Send("scsi i dev select 1" + chr(13))
objTab.Screen.WaitForString("============")
szPrompt = ">"
szResult = objTab.Screen.ReadString(szPrompt)
crt.Dialog.MessageBox(szResult)
crt.Screen.Send("scsi i gen" + (szResult) + "w 0 100 1 0")
Main()
入力は機能しています(ただし、 > テキストの先頭を無視したいのですが(sn200028
この場合)。ただし、それは重要ではありません。
私が立ち往生している次の2つの部分、つまり:
パート 1. 正しい出力を送信する方法。正しい出力は次のようになります。
scsi i gen X w 0 100 1 0
はX
、このリストの数字の 1 つです。
パート 2. リスト内の各項目に対して実際にこのコマンドを送信する必要があります。のようなリスト全体ではありませんX
。
どんな助けでも大歓迎です。現時点では、リストをコピーして貼り付け、別のリストに awk し、カット アンド ペーストする必要があります。これを SecureCRT から実行する方がはるかに有益です。