【发布时间】:2014-07-03 09:37:20
【问题描述】:
正如标题所暗示的,我有三个单独的文本文件,我想按特定顺序将它们连接在一起(即,附加 file1、file2、file3(按顺序)以生成 file4)。
根据我的阅读,使用 VBScript 执行此操作需要 FileSystemObject 将文件读取到数组中,然后将内容写入新文件(如果建议,我愿意接受任何适用于 VBScript 的内容)
我的代码存在以下问题: 1) 脚本运行,但不产生数据 2)在我让它运行之后,文件必须按照我上面建议的顺序(每行)按照数组的顺序附加到输出文件中。
这是我正在使用的数组示例:
代码
Const ForReading = 1
Dim arrServiceList(2)
arrServiceList(0) = strText1
arrServiceList(1) = strText2
arrServiceList(2) = strText3
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutputFile = objFSO.CreateTextFile("output.txt")
Set objTextFile1 = objFSO.OpenTextFile("C:\Users\95540\Desktop\Sample1.txt", ForReading)
Set objTextFile2 = objFSO.OpenTextFile("C:\Users\95540\Desktop\Sample2.txt", ForReading)
Set objTextFile3 = objFSO.OpenTextFile("C:\Users\95540\Desktop\Sample3.txt", ForReading)
strText1 = objTextFile1.ReadAll
objTextFile1.Close
strText2 = objTextFile2.ReadAll
objTextFile2.Close
strText3 = objTextFile3.ReadAll
objTextFile3.Close
objOutputFile.WriteLine arrServiceList(0)
objOutputFile.Close
=====================
更新我的代码 5-15-15(下面帖子中的更正说明)
代码
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutputFile = objFSO.CreateTextFile("output.txt")
Set objTextFile1 = objFSO.OpenTextFile("C:\Users\Brill\Desktop\Grab1.txt", ForReading)
Set objTextFile2 = objFSO.OpenTextFile("C:\Users\Brill\Desktop\Grab2.txt", ForReading)
Set objTextFile3 = objFSO.OpenTextFile("C:\Users\Brill\Desktop\Grab3.txt", ForReading)
Do While objTextFile1.AtEndOfStream <> True
Do While objTextFile2.AtEndOfStream <> True
Do While objTextFile3.AtEndOfStream <> True
strText1 = objTextFile1.ReadLine
objOutputFile.Write strText1 & vbTab
strText2 = objTextFile2.ReadLine
objOutputFile.Write strText2 & vbTab
strText3 = objTextFile3.ReadLine
objOutputFile.Write strText3 & vbTab & vbCrLf
Loop
Loop
Loop
objOutputFile.Close
objTextFile1.Close
objTextFile2.Close
objTextFile3.Close
【问题讨论】:
-
我遗漏了一件事;假设三个示例文件可以包含任何内容。出于测试目的,使用三个不同的单词创建三个文本文件就可以了。
标签: file-io vbscript filewriter