我有这个AutoIt脚本:
ControlFocus("Open", "", "Edit1")
Sleep(500)
ControlSetText("Open", "", "Edit1", $CmdLine[1])
Sleep(500)
ControlClick("Open", "", "Button1")
在文件选择窗口中键入文件名。我想在我的字符串之前和之后添加"
(我将作为命令行参数发送到我的脚本的字符串)。
我尝试ControlSetText("Open", "", "Edit1", $CmdLine[1] & """)
,但这会导致错误:Unterminated string.
。
答案 0 :(得分:1)
Autoit使用对引号来表示字符串中的单个实例。
,例如""""
(注意,有4个双引号)作为字符串中的单个双引号。
所以$CmdLine[1] & """"
应该添加一个双引号。
请参阅AutoIt的文档。 https://www.autoitscript.com/autoit3/docs/intro/lang_datatypes.htm有一个关于字符串的部分。
答案 1 :(得分:0)
我尝试
ControlSetText("Open", "", "Edit1", $CmdLine[1] & """)
,但这会导致错误:Unterminated string.
。
在 $CmdLine[1]
之前没有尝试添加双引号(仅在之后)。
我想在字符串之前和之后添加
"
...
根据Documentation - Intro - Datatypes - Strings:
如果您希望字符串实际包含双引号,请使用两次...
您也可以使用单引号...
根据Documentation - FAQ - 3. Why do I get errors when I try and use double quotes (") ?:
如果你想在字符串中使用双引号,那么你必须“加倍”。因此,对于您想要的每一个引用,您应该使用两个。 ...
"
变为:
$sString = """"
This is a "quoted" string.
变为:
$sString = "This is a ""quoted"" string."
。
根据Documentation - FAQ - 3. Why do I get errors when I try and use double quotes (") ?:
...或者使用单引号代替:...
"
变为:
$sString = '"'
This is a "quoted" string.
变为:
$sString = 'This is a "quoted" string.'
。
根据Documentation - Function Reference - Chr()
:
返回与ASCII码对应的字符。
"
变为:
$sString = Chr(34)
34为the "
-sign's ASCII code,因此This is a "quoted" string.
成为:
$sString = "This is a " & Chr(34) & "quoted" & Chr(34) & " string."
$sString = StringFormat("This is a %squoted%s string.", Chr(34), Chr(34))