我正在尝试为AutoIT脚本构建框架,我将使用它来保存一定数量的文件,对它们进行非常小的更改,基本上是这样的:
用户插入他们想要的文件数量。
记事本打开并写入File1。
自动保存为File1.txt
记事本写入File2。
自动保存为File2.txt。
等等。
我已经能够在pywinauto中解决这个问题,但是当我尝试将它应用到我希望使用它的实际程序时,我无法确定需要编辑的区域。所以现在我在AutoIT中尝试它,我完全没有经验。
这是我到目前为止所做的:
$NumVar = 0
Run('Notepad')
WinWait('Untitled - Notepad')
While ($NumVar < 5)
;Run('Notepad')
;WinWait('Untitled - Notepad')
Send('File' & $NumVar)
Send('^s')
WinWaitActive("Save As")
Send("test" & $NumVar & ".txt")
Send("{ENTER}")
WinActivate("test" & $NumVar)
$NumVar = $NumVar + 1
;WinWaitActive("test" & $NumVar & "- Notepad")
WEnd
($NumVar > 5)
这适用于第一个文件,但之后我得到类似
的内容“File0
fFFFiiiilllelee3e42s!SFile4"
打印到记事本。
对此的任何帮助将不胜感激。
答案 0 :(得分:0)
脚本不正确,但您可以使用简单的调试技术发现详细信息并修复问题:
当前脚本逻辑不正常:
File0
并点击ctrl+s
。 &#34;另存为&#34;对话框出现。test0.txt
并按Enter键。您的文件现在保存到&#34; test0.txt&#34;,记事本的标题更改为文件名,文件内容显示在记事本中。File1
,它附加到File0
文本。ctrl+s
并不强制&#34;另存为&#34;对话。记事本已经知道,&#34; test0.txt&#34;正在编辑,所以&#34; test0.txt&#34;只需使用File0File1
所以你对记事本状态的期望是错误的,这是原因。
一个重要的注意事项:直接使用文本编辑器进行文件操作并不是最简单也不可靠的工作方式。您应该查看更方便的FileWrite()。