该脚本在第一行旁边写了一个新行,而不是 txt 的最后一行

The script is writing a new line beside the first line instead of being last line on a txt

我的脚本必须迭代。在第一个中,它读取一个 txt,获取第一行并在做一些事情(创建新字符串)后,将该字符串写入临时文件并在删除原始 txt 后,将临时文件保存为与原始文本。

在第二次迭代中,它获取创建的 txt 并尝试在文件末尾写入一个新行。问题是现在代码在第一行旁边写新行,而不是在最后一行写。

示例:

预期结果: 004;J2Yf;18090023;20200725;00000509990;沃尔沃;D;YFWfS9Z9lu06JM0Rk;D;FA;18090023 004;J2Yf;18090023;20200725;00000509990;沃尔沃;D;YFWfS9Z9lu06ftR78;D;FA;18090023

不正确的结果: 004; j2yf; 18090023; 20200725; 00000509990; volvo; d; yfwfs9z9lu06jm0rk; d; d; fa; fa; 18090023; 18090023 [= 25 = 25 =] 004; j2yf; j2yf; j2yf; 18090023; 18090023; 20200725; 20200725; =]

最后一行怎么写?

TIA ;)

For Iterator 1 to 2
    sF1 = "C:\Users\ig.ext\Desktop\Automation\Archivo.txt"
    '#Opening file  
    Dim objFS 
    Dim objFile
    strTemp = "C:\Users\" & Environment("UserName") & "\Desktop\Automation\Temp.txt"
    Set objFS = CreateObject("Scripting.FileSystemObject")

    If Iterator = 1 Then

        Set objFile = objFS.OpenTextFile(sF1)
        content = objFile.ReadLine

        '#Creating temporal file
        Set objOutFile = objFS.CreateTextFile(strTemp,True)
    Else 
        Set objFile = objFS.OpenTextFile(sF1, 8)        

    End If

    sResultado = "004;J2Yf;18090023;20200725;00000509990;VOLVO;D;YFWfS9Z9lu06ftR78;D;FA;18090023"

    If Iterator = 1 Then

        '#Write and close
        objOutFile.Write(sResultado)

        objOutFile.Close
        objFile.Close
        objFS.DeleteFile(sF1)
        objFS.MoveFile strTemp,sF1
    else

        '#Write line and close
        objFile.Writeline(sResultado)
        objFile.Close
    End If

Next

正如@Geert Bellekens评论的那样:

Use WriteLine() instead of Write() in your first iteration to add a newline before writing the second line.

(答案已添加为 社区 wiki