如何使用 VBScript 从文本文件中读取?
Posted
技术标签:
【中文标题】如何使用 VBScript 从文本文件中读取?【英文标题】:How to read from a text file using VBScript? 【发布时间】:2010-10-25 16:39:40 【问题描述】:我正在寻找一种使用 VBScript 读取和写入文本文件的简单方法。
我认为这是一种可接受的写入文件的方法。
Dim f,
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile("C:\test.txt", True, True)
f.WriteLine("Data to Add to file.")
f.Close
但是,我想知道如何以类似的方式读取文件。
【问题讨论】:
我不明白。这不是你刚刚做的,只是你没有使用 read 方法吗? 是的,但这只适用于一行。 所以改用 ReadAll 方法WriteLine
写一行。 ReadLine
读取一行。 ReadAll
读取整个文件(或Read(fileObj.Size)
),Write
写入所有内容。
【参考方案1】:
先使用方法OpenTextFile
,然后...
要么使用ReadAll
的方法一次读取文件:
Const ForReading = 1
Dim file, content
Set file = fso.OpenTextFile("C:\test.txt", ForReading)
content = file.ReadAll
或逐行使用ReadLine
的方法:
Const ForReading = 1
Dim dict, file, row, line
Set dict = CreateObject("Scripting.Dictionary")
Set file = fso.OpenTextFile ("c:\test.txt", ForReading)
row = 0
Do Until file.AtEndOfStream
line = file.Readline
dict.Add row, line
row = row + 1
Loop
file.Close
'Loop over it
For Each line in dict.Items
WScript.Echo line
Next
【讨论】:
匿名用户在您的代码中有suggested some changes。这似乎是一个有效的观点,但我不确定。也许您可能希望考虑一下。 @NisseEngström 我不明白为什么将格式 -1 (Unicode) 作为参数添加到 OpenTextFile 会更好地回答这个问题。【参考方案2】:Dim obj : Set obj = CreateObject("Scripting.FileSystemObject")
Dim outFile : Set outFile = obj.CreateTextFile("in.txt")
Dim inFile: Set inFile = obj.OpenTextFile("out.txt")
' Read file
Dim strRetVal : strRetVal = inFile.ReadAll
inFile.Close
' Write file
outFile.write (strRetVal)
outFile.Close
【讨论】:
以上是关于如何使用 VBScript 从文本文件中读取?的主要内容,如果未能解决你的问题,请参考以下文章
如何从SFTP服务器获取文本文件并在VBScript中本地存储
如何在不实际提取文件的情况下使用 VBScript 读取 .zip 文件的内容?