Передача аргумента командной строки в AutoIt в PuTTY

Я пытаюсь реализовать запуск PuTTY с помощью AutoIt.

У меня есть сеанс настройки PuTTY, я назвал его 'testcom11'. Он сохраняет сеанс PuTTY с настройками com11, скорость передачи данных и так далее.

Я реализовал в AutoIt следующую строку:

Run ("putty -load testcom11")

Это работает нормально. Я смог запустить PuTTY с моим сеансом, и всплывающие окна PuTTY, и я смог ввести команду «AT» в окно PuTTY.

Теперь я хочу вместо жесткого кодирования одного имени сеанса передать имя сеанса из командной строки следующим образом:

myAutoItprogram.exe testcom11

Я вставил эту строку в AutoIt:

$cmp = $CmdLine[1]

Я вижу, что он прошел правильно, когда я печатаю (отображаю, скажем, с помощью MsgBox) $cmp, он показывает testcom11.

В следующей строке у меня есть:

Run ("putty -load $cmp")

Однако AutoIt запускает PuTTY только с окном, предлагающим мне загрузить сеанс. Так что явно он не читал вариант -load $cmp.

Как видите, я новичок в AutoIt, поэтому, возможно, вы увидите, связано ли это с тем, как он обрабатывает $cmp в окне «Выполнить», или с чем-то еще.


person Zeljo    schedule 27.10.2013    source источник


Ответы (1)


Ваш синтаксис плохой.

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, потому что вы передаете только один параметр и можете избежать возможных проблем, если в этом параметре есть пробел.

person Milos    schedule 28.10.2013
comment
Привет, Самот, Милош. Спасибо, что ответили на мой вопрос. Я попробовал то, что вы предложили сегодня, и это сработало очень хорошо. Я смог передать параметр командной строки, как я и надеялся. Putty распознал вариант и без проблем запустил сеанс. Так что еще раз спасибо за помощь мне. - person Zeljo; 29.10.2013
comment
Добро пожаловать @Zeljo. Не забудьте выбрать мой ответ. Ваше здоровье - person Milos; 30.10.2013