找回密码
 加入
搜索
查看: 1641|回复: 3

将一文本复制到另以文本,不能重复

[复制链接]
发表于 2010-1-15 18:52:26 | 显示全部楼层 |阅读模式
本帖最后由 xlcwxl 于 2010-1-15 18:56 编辑

怎样将1.txt中的内容复制到2.txt中,不能重复。

1.txt内容:
1111111
aaaaaaa
2222222
bbbbbbb

2.txt内容:
ddddddd

点击复制后2.txt内容是:
ddddddd
1111111
aaaaaaa
2222222
bbbbbbb


不能重复,也不能删除之前的内容,能做到吗?
以下能写入,但是每写一次就重复一次
$var = IniReadSection("config.txt", "list")
If @error Then 
MsgBox(4096, "", "Error occurred, probably no INI file.")
Else
    For $i = 1 To $var[0][0]
 FileWrite('new.txt', @CRLF&$var[$i][0])
    Next
EndIf
发表于 2010-1-15 19:09:48 | 显示全部楼层
IF Iniread ("","","") <> $var[$i][0] Then FileWrite('new.txt', @CRLF&$var[$i][0])
这样行不?
发表于 2010-1-15 23:29:47 | 显示全部楼层
本帖最后由 C.L 于 2010-1-15 23:46 编辑

我的笨办法:
Dim $afile1[1], $afile2[1]

WriteFile("1.txt", "2.txt")

Func ReadFile1ToArray($file)
        $file1 = FileOpen($file, 0)
        $i = 0
        While 1
                $line = FileReadLine($file1)
                If @error Then
                        FileClose($file1)
                        ExitLoop
                EndIf
                If $line Then
                        $afile1[$i] = $line
                        $i += 1
                        ReDim $afile1[UBound($afile1) + 1]
                EndIf
        WEnd
        ReDim $afile1[UBound($afile1) - 1]
EndFunc   ;==>ReadFile1ToArray

Func ReadFile2ToArray($file)
        $file2 = FileOpen($file, 0)
        $i = 0
        While 1
                $line = FileReadLine($file2)
                If @error Then
                        FileClose($file2)
                        ExitLoop
                EndIf
                If $line Then
                        $afile2[$i] = $line
                        $i += 1
                        ReDim $afile2[UBound($afile2) + 1]
                EndIf
        WEnd
        ReDim $afile2[UBound($afile2) - 1]
EndFunc   ;==>ReadFile2ToArray

Func WriteFile($read, $write)
        ReadFile1ToArray($read)
        ReadFile2ToArray($write)
        $file3 = FileOpen($write, 1)
        For $i = 0 To UBound($afile1) - 1
                $flag = 1
                For $j = 0 To UBound($afile2) - 1
                        If $afile1[$i] == $afile2[$j] Then
                                $flag = 0
                                ExitLoop
                        EndIf
                Next
                If $flag Then FileWriteLine($file3, $afile1[$i])
        Next
        FileClose($file3)
        ShellExecute($write)
EndFunc   ;==>WriteFile
发表于 2010-1-15 23:33:01 | 显示全部楼层
记得这种问题,afan回答n遍了,麻烦楼主学会搜索
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 19:36 , Processed in 0.074445 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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