victior 发表于 2021-5-14 22:03:58

请问,如何用autoit保存编辑好的txt文件?

代码如下:


ShellExecute("c:\logC123.txt")
Sleep(1000)
WinActivate("logC123.txt - 记事本")
Sleep(1000)
Send(@YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & @MIN & @SEC)
Sleep(500)
Send("{ENTER}")
Sleep(1000)




请问如何关闭并且保存这个logC123.txt文件?

afan 发表于 2021-5-14 22:13:02

这个不要模拟操作,可以直接使用代码完成
Local $file = 'c:\logC123.txt'
Local $sRd = @YEAR & '-' & @MON & '-' & @MDAY & ' ' & @HOUR & @MIN & @SEC & @CRLF
$sRd &= FileRead($file)
Local $iEncoding = FileGetEncoding($file)
Local $hFO = FileOpen($file, 2 + $iEncoding)
FileWrite($hFO, $sRd)
FileClose($hFO)

victior 发表于 2021-5-14 22:21:17

afan 发表于 2021-5-14 22:13
这个不要模拟操作,可以直接使用代码完成

不知道为什么,复制您的代码,无效啊。。。。。。

victior 发表于 2021-5-14 22:24:02

afan 发表于 2021-5-14 22:13
这个不要模拟操作,可以直接使用代码完成

用我这样的方式可以实现保存TXT么?因为我要连续换行输入不同的系统时间到这个logC123.txt里面,您这个方法应该是每次都覆盖之前的输入时间吧?

afan 发表于 2021-5-14 22:32:01

victior 发表于 2021-5-14 22:21
不知道为什么,复制您的代码,无效啊。。。。。。

你不会是当前已经用记事本打开了该文件吧?需要关闭先,再打开就可以看到新添加的内容了。

硬要模拟保存的话,在你代码后面加 Send("^s") 不就行了

gyp2000 发表于 2021-5-14 22:34:47

模拟操作也可以实现

ShellExecute("c:\logC123.txt")
Sleep(1000)
WinActivate("logC123.txt - 记事本")
Sleep(1000)
Send(@YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & @MIN & @SEC)
Sleep(500)
Send("{ENTER}")
Sleep(1000)
WinActivate("logC123.txt - 记事本")
Send("^s")
Send("!fx")


victior 发表于 2021-5-14 22:40:29

gyp2000 发表于 2021-5-14 22:34
模拟操作也可以实现

收到,感谢!

victior 发表于 2021-5-14 22:40:41

afan 发表于 2021-5-14 22:32
你不会是当前已经用记事本打开了该文件吧?需要关闭先,再打开就可以看到新添加的内容了。

硬要模拟 ...

明白了,谢谢老大!
页: [1]
查看完整版本: 请问,如何用autoit保存编辑好的txt文件?