Как это сделать Send ("Send (" $ readme 1 ")")? - PullRequest
0 голосов
/ 31 января 2019

Как правильно выполнить эту команду Отправить ("Отправить (" $ readme 1 ")")?

Send("Send("$readme 1")")

Поэтому, когда скрипт запускается, введите:

Send ("что бы то ни было на $ readme 1")

Ответы [ 3 ]

0 голосов
/ 31 января 2019

Send('Send("$readme 1")', 1) выходы Send( "$readme 1" ).Обратите внимание на , 1 для необработанных ключей (для использования специальных символов или зарезервированных ключевых слов).

Пример записи в файлы:

; variant one: create new file and write into
Global $sYourFile    = @DesktopDir & '\myNewFile.txt'
Global $sFileContent = 'Line 1' & @CRLF & 'Line 2' & @CRLF

Func _writeFile($sFile, $sText)
    Local $hFile = FileOpen($sFile, 2 + 8 + 256)
    FileWrite($hFile, $sText)
    FileClose($hFile)
EndFunc

_writeFile($sYourFile, $sFileContent)

MsgBox(64, 'Information', 'Variant one was executed. Please check your new file on the Desktop.'

; variant two: create new file and append text line by line
Global $sYourFile = @DesktopDir & '\myNewFile.txt'

Func _appendLineToFile($sFile, $sLineText)
    Local $hFile = FileOpen($sFile, 1 + 8 + 256)
    FileWriteLine($hFile, $sLineText)
    FileClose($hFile)
EndFunc

_appendLineToFile($sYourFile, 'Line 3')
_appendLineToFile($sYourFile, 'Line 4')
_appendLineToFile($sYourFile, 'Line 5')
_appendLineToFile($sYourFile, 'Line 6')

MsgBox(64, 'Information', 'Variant two was executed. Please check your new file on the Desktop.')

; variant three: replace text in file on specific line
#include-once
#include <File.au3>

Global $sYourFile = @DesktopDir & '\myNewFile.txt'

_FileWriteToLine($sYourFile, 2, 'New line 2', True)
_FileWriteToLine($sYourFile, 4, 'New line 4', True)

MsgBox(64, 'Information', 'Variant three was executed. Please check your new file on the Desktop.')
0 голосов
/ 01 февраля 2019

Как уже отмечалось, в AutoIt переменные не могут содержать пробелов (вы должны получить ошибку компилятора, если попытаетесь)
Плюс (как также уже отмечалось), вы можете просто записать в файл вместо симуляции "используя редактор ".

К сожалению, ваш вопрос не очень понятен, но одно из следующего должно соответствовать вашим потребностям:

Чтобы записать в файл строку типа send("Hello"), используйте:

$readme1 = "Hello"
FileWriteLine("C:\tmp\test.txt", 'send("' & $readme1 & '")')

Если вы хотите буквально написать send("$readme1"):

FileWriteLine("C:\tmp\test.txt", 'send("$readme1")')

Ключ в обоих случаях - правильное использование цитирования (AutoIt использует два стиля цитат: " и ')

0 голосов
/ 31 января 2019

Согласно руководству AutoIt , вы можете заключать строки в одинарные и двойные кавычки.Это означает, что

Send('Send("$readme 1")')

должен делать то, что вы хотите.

Другой вариант - использовать двойные двойные кавычки, чтобы отметить буквальные двойные кавычки в строке двойных кавычек (фу!):

Send("Send(""$readme 1"")")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...