如何使文件内容和名称增加+1一定次数

时间:2017-06-02 15:04:03

标签: autoit basic

我正在尝试为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"

打印到记事本。

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

脚本不正确,但您可以使用简单的调试技术发现详细信息并修复问题:

  • 使用Sleep()将延迟放入脚本中,这样您就可以看到每个步骤逐个执行,而不是在屏幕上快速闪烁
  • 使用_DebugOut()打印评论,以便了解正在执行的步骤。

当前脚本逻辑不正常:

  • 打开记事本
  • 输入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
  • 保存
  • 脚本等待激活&#34;另存为&#34;对话框,但它永远不会发生,所以脚本永远等待。
  • 您可以从托盘图标中删除卡住的脚本,但您似乎启动了第二个脚本实例,因此它们开始干扰。一旦第二个实例打开&#34;另存为&#34;对话框,两个实例都将文本打印到其中,导致混乱。

所以你对记事本状态的期望是错误的,这是原因。

一个重要的注意事项:直接使用文本编辑器进行文件操作并不是最简单也不可靠的工作方式。您应该查看更方便的FileWrite()