2016-11-16 4 views
0

У меня есть скрипт AutoIt, который идет как это:AutoIt запустить скрипт из переменной

$command = InputBox("Enter your command","Enter your command") 
execute($command) 

Это прекрасно работает на 1-линии команды, такие как

MsgBox(0,"Test","Test") 

Но когда я иду в многострочный таких функций, как if, если я получаю сообщение об ошибке.

Есть ли способ запустить скрипт из переменной, если это многострочный скрипт?

ответ

2

Да, напишите его во временный файл сценария, а затем выполните этот скрипт. Поскольку InputBox() не принимает многострочный вход, я использую clipget(), чтобы захватить команды из буфера обмена.

$command=clipget() 
$tempfilename="tempscript.au3" 
$tempscript=FileOpen($tempfilename,2) 
FileWrite($tempscript,$command) 
FileFlush($tempscript) 
FileClose($tempscript) 
RunWait(@AutoItExe & ' /AutoIt3ExecuteScript ' & $tempfilename) 
FileDelete($tempfilename) 
+0

Спасибо, что работает отлично –