当试图将CMD参数作为字符串传递给ControlSetText()时,我得到了一个错误:

"C:\Temp\Automation-Testing\UploadInvoice2.exe"):第2行(文件
错误:数组变量有错误的下标数或下标维度范围超过。
AutoIt脚本:
ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1", $CmdLine[1])
ControlClick("Open","","Button1")C#项目:
using (Process exeProcess = Process.Start($"{Path.Combine(FrameworkConfig.BrowserDownloadFilePath, uploadInvoice2.Name)} \"{Path.Combine(FrameworkConfig.BrowserDownloadFilePath, testInvoice.Name)}\""))
{
exeProcess.WaitForExit();
}Process.Start中的字符串返回:
C:\Temp\Automation-Testing\UploadInvoice2.exe "C:\Temp\Automation-Testing\TestInvoice.txt"指向该文件夹中的现有文件:

所以我将字符串“C:\Temp\Automation\TestInvoice.txt”作为参数。如果我在AutoIt脚本中硬编码该路径,它可以工作:
ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1","C:\Temp\Automation-Testing\TestInvoice.txt")
ControlClick("Open","","Button1")发布于 2021-04-27 09:11:10
我对AutoIT并不太熟悉,但是我认为参数是零索引的,因此应该是$CmdLine而不是$CmdLine1。
https://stackoverflow.com/questions/67279944
复制相似问题