waxy 发表于 2011-7-26 15:35:50

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

本帖最后由 waxy 于 2011-7-28 11:00 编辑

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

3mile 发表于 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
        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)

love5173 发表于 2011-7-26 17:22:40

#Include <Array.au3>

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

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=$file
$array2=$d

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)
;MsgBox(0,$file,$d)
EndIf
WEnd

;_ArrayDisplay($array)
;_ArrayDisplay($array2)
; 关闭搜索句柄
FileClose($search)
Global $array
For $i=0 To UBound($array)-1
        $array[$i]=$array1[$i]
        $array[$i]=$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])
        FileWrite($newfile,$str&@CRLF)
Next
MsgBox(0,"","合并结束")
       

sxd 发表于 2011-7-28 00:11:17

给楼上2个建议
1.写完后 ctrl + t
2.以后用 标签

waxy 发表于 2011-7-28 10:57:50

非常感谢各位,又长见识了。
页: [1]
查看完整版本: 多个文本文件合并问题[已解决]