在vbscript中逐个字节读取文件

在vbscript中逐个字节读取文件,vbscript,binaryfiles,Vbscript,Binaryfiles,我正在寻找一种方法来读取一个大的二进制文件使用vbscript(大1 gb)。我不能用ReadAll函数直接读取它,因为文件太大了,所以我正在寻找一种在循环中读取它的方法,就像在c中一样。所以我想每次读取X字节,继续它们(我不需要完整的文件来完成我的工作),然后重复读取下一个10字节。 问题是我找不到这样做的方法,我知道如何从偏移量开始读取,但找不到读取X字节的方法,只有ReadAll和ReadLine函数。 有没有办法读取X字节 如有疑问,请阅读: 读取方法 从TextStream文件中读取指

我正在寻找一种方法来读取一个大的二进制文件使用vbscript(大1 gb)。我不能用ReadAll函数直接读取它,因为文件太大了,所以我正在寻找一种在循环中读取它的方法,就像在c中一样。所以我想每次读取X字节,继续它们(我不需要完整的文件来完成我的工作),然后重复读取下一个10字节。 问题是我找不到这样做的方法,我知道如何从偏移量开始读取,但找不到读取X字节的方法,只有ReadAll和ReadLine函数。 有没有办法读取X字节

如有疑问,请阅读:

读取方法 从TextStream文件中读取指定数量的字符并返回结果字符串

语法 论据
  • 对象
    必修的。始终为TextStream对象的名称
  • 字符
    必修的。要从文件中读取的字符数

但是,请注意,
Read()
方法本身并不读取字节,而是读取字符。只要您以ANSI模式(默认)打开文件,这大致相同。

因此,我只能在有文本文件的情况下使用它?如果是二进制文件,我有问题吗?请重新阅读我的答案,特别是最后一段。(TL;DR:no)
object.Read(characters)
filename = "C:\path\to\your.file"

Set fso = CreateObject("Scripting.FileSystemObject")
Set f   = fso.OpenTextFile(filename)

Do Until f.AtEndOfStream
    buf = f.Read(10)
    '...
Loop

f.Close