多个文本文件合并问题[已解决]
本帖最后由 waxy 于 2011-7-28 11:00 编辑兄弟在网上看一篇小说挺喜欢的,可以它们都一个章节一个txt文件(共205个),想把他们合并成一个文件拷到手机上,方便阅读。
在坛子里找一遍没有合适的方法,就发求助贴了。我把小说也贴出来吧,可能也有人喜欢。 #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) #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,"","合并结束")
给楼上2个建议
1.写完后 ctrl + t
2.以后用 标签 非常感谢各位,又长见识了。
页:
[1]