找回密码
 加入
搜索
查看: 2396|回复: 4

[AU3基础] 读取1.txt里面的第一行,读完删除第一行,然后将读到的内容写入到2.txt

  [复制链接]
发表于 2016-9-25 18:58:16 | 显示全部楼层 |阅读模式
本帖最后由 xymc 于 2016-9-25 19:15 编辑

读取1.txt里面的第一行,读完删除第一行,然后将读到的内容写入到2.txt
1.txt内容
第一行
第二行
第三行

#include <File.au3>

; 如果文件为空的,脚本退出.
Local $line = FileReadLine("1.txt")
If @error = -1 Then Exit

SwapString(@ScriptDir & '\1.txt')

Func SwapString($File)
        Local $txt, $tmpfile = @TempDir & '\tmp.txt'
        FileDelete($tmpfile)
        Local $tmp = FileOpen($tmpfile, 1)
        _FileReadToArray($File, $txt)

        For $i = 2 To $txt[0]
                FileWriteLine($tmp, $txt[$i])
        Next
        Local $Pfile = FileOpen("2.txt", 2)
        FileWriteLine($Pfile,$txt[1])
        FileClose($Pfile)
        FileMove($tmpfile, $File, 1)
EndFunc   ;==>SwapString


这个单独运行没有问题,放到其他程序里面就出错了,为什么呢?哪里错了

或者有没有简单一点的写法?
发表于 2016-9-25 19:35:37 | 显示全部楼层
其他程序调用,都存在一个执行路径的问题
Local $line = FileReadLine(@ScriptDir & "\1.txt")
发表于 2016-9-25 19:37:14 | 显示全部楼层
回复 1# xymc

删除第一行可以这样
Local $sTxt = '第一行' & @CRLF & _
              '第二行' & @CRLF & _
              '第三行'

MsgBox(0, '', StringRegExpReplace($sTxt, '^\V*\v+', ''))
发表于 2016-9-26 20:24:50 | 显示全部楼层
#include <File.au3>
Local $ReadFilePath = @ScriptDir & '\1.txt'
Local $WriteFilePath = @ScriptDir & '\2.txt'
Local $LineOne = ''                                                                        ;$LineOne 为读取到的第一行的内容
;若文件不存在,则退出
If  Not FileExists( $ReadFilePath ) Then 
        MsgBox(0,'Error','文件不存在!')
        Exit
;若文件存在且为空,则退出
Else
        $hFile = FileOpen( $ReadFilePath )
        If $hFile = -1 Then 
                MsgBox(0,'Error','打开文件失败!')
        EndIf
        $LineOne = FileReadLine($hFile)
        If $LineOne = -1 Then 
                MsgBox(0,'Error','文件为空!')
                Exit
        EndIf
EndIf
;删除第一行
_FileWriteToLine($ReadFilePath,1,'',1)
If @error Then 
        MsgBox(0,'Error','写入文件失败,错误代码:' & @error )
EndIf
;关闭文件
FileClose( $hFile )
;写入文件
$hFile = FileOpen( $WriteFilePath ,2 + 8)
FileWrite( $hFile , $LineOne )
FileClose( $hFile )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-10-2 01:51:04 | 显示全部楼层
_FileWriteToLine
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-25 12:50 , Processed in 0.078757 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表