1

AutoIt で PuTTY の起動を実装しようとしています。

PuTTY 構成セッションがあり、「testcom11」という名前を付けました。com11ボーレートなどの設定で PuTTY セッションを保存します。

次のように AutoIt に行を実装しました。

Run ("putty -load testcom11")

それは正常に動作します。セッションで PuTTY を起動でき、PuTTY ウィンドウがポップアップし、PuTTY ウィンドウに「AT」コマンドを入力できました。

ここで、1 つのセッション名をハード コーディングする代わりに、次のようにコマンド ラインからセッション名を渡したいと思います。

myAutoItprogram.exe testcom11

この行をAutoItに入れました:

$cmp = $CmdLine[1]

印刷すると正しく渡されたことがわかります(たとえば、MsgBox$cmpで表示します) testcom11

次の行には次のものがあります。

Run ("putty -load $cmp")

ただし、AutoIt は PuTTY のみを起動し、セッションをロードするように求めるウィンドウが表示されます。明らかに、-load $cmpオプションを読み取っていません。

$cmpご覧のとおり、私は AutoIt の初心者なので、Run Windowでの処理方法などに問題があるかどうかを確認できるかもしれません。

4

1 に答える 1

2

あなたの構文は悪いです。

AutoIt は PHP に似ているかもしれませんが...

$a = "x"
$b = "$ay"
if you print $b you will get this text $ay

正しい方法は

$b = $a & "y"

$b はxyを出力します。

だからあなたの場合、その

Run("putty -load " & $cmp)

それ以外の

Run ("putty -load $cmp")

AutoIt コマンドラインについても。あり$CmdLineRaw、コマンドライン全体を取得します。すべてのパラメータを分離するには、$CmdLine[n]n各パラメータのインデックスに置き換えて)を使用できます。

$CmdLineRawパラメーターを 1 つしか渡さず、そのパラメーターにスペースが含まれている場合に発生する可能性のある問題を回避できるため、を使用する方がよいかもしれません。

于 2013-10-28T00:23:28.910 に答える