【问题标题】:How to read from a text file using VBScript?如何使用 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 写入所有内容。

标签: windows scripting vbscript


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 2011-10-28
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多