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

[AU3基础] 多个文本文件合并问题[已解决]

[复制链接]
发表于 2011-7-26 15:35:50 | 显示全部楼层 |阅读模式
本帖最后由 waxy 于 2011-7-28 11:00 编辑

兄弟在网上看一篇小说挺喜欢的,可以它们都一个章节一个txt文件(共205个),想把他们合并成一个文件拷到手机上,方便阅读。
在坛子里找一遍没有合适的方法,就发求助贴了。我把小说也贴出来吧,可能也有人喜欢。

本帖子中包含更多资源

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

×
发表于 2011-7-26 17:14:43 | 显示全部楼层
#INCLUDE <ARRAY.AU3>
#include<file.au3>

$file_array=_FileListToArray(@ScriptDir,"*.txt",1)
local $String
For $i=1 to $file_array[0]
        If $file_array[$i]="index.txt" Then 
                $String=FileRead($file_array[$i])&@CRLF&$string
        Else
                $String&=FileRead($file_array[$i])&@CRLF
        EndIf
Next
FileWrite("output.txt",$String)
发表于 2011-7-26 17:22:40 | 显示全部楼层
#Include <Array.au3>

Global $way="D:\UserFile\Desktop\连接\3"
Dim $array1[1],$array2[1]

Local $search = FileFindFirstFile($way&"*.txt")

; 检查搜索是否成功
If $search = -1 Then
    MsgBox(0, "错误", "没有文件/目录 匹配搜索")
    Exit
EndIf
Local $file = FileFindNextFile($search)
$d=StringRegExp($file,'\d+',1)
If Not @error Then
$array1[0]=$file
$array2[0]=$d[0]

EndIf
Dim $k=1
While 1
    Local $file = FileFindNextFile($search)
    If @error Then ExitLoop
$d=StringRegExp($file,'\d+',1)
If Not @error Then
_ArrayAdd($array1,$file)
_ArrayAdd($array2,$d[0])
;MsgBox(0,$file,$d[0])
EndIf
WEnd

;_ArrayDisplay($array)
;_ArrayDisplay($array2)
; 关闭搜索句柄
FileClose($search)
Global $array[UBound($array1)][2]
For $i=0 To UBound($array)-1
        $array[$i][0]=$array1[$i]
        $array[$i][1]=$array2[$i]
Next

_ArraySort ($array,0,0,0,1)
;_ArrayDisplay($array)
$newfile=FileOpen($way&"合并后.txt",9)
For $i=0 To UBound($array)-1
        $str=FileRead($way&$array[$i][0])
        FileWrite($newfile,$str&@CRLF)
Next
MsgBox(0,"","合并结束")
        
发表于 2011-7-28 00:11:17 | 显示全部楼层
给楼上2个建议
1.写完后 ctrl + t
2.以后用 [au3] 标签
 楼主| 发表于 2011-7-28 10:57:50 | 显示全部楼层
非常感谢各位,又长见识了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 21:25 , Processed in 0.210897 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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