Vbscript查找文件结尾以生成尾部命令脚本

Vbscript查找文件结尾以生成尾部命令脚本,vbscript,Vbscript,我已经使用vbscript编写了一个简单的tail命令。它可以很好地工作,除了非常大的文件,它必须读取整个文件才能获得最后10行。有没有办法查找到文件的末尾,然后向后读取十行?我担心在VBS TextStream中向后查找是不可能的,但是您可以查找到EOF之前的位置,例如1K,然后读取文件的其余部分,只显示最后10行,而不是读取整个文件 编辑:我正在添加一些示例代码来说明这个想法: set fso = CreateObject("Scripting.FileSystemObject") set

我已经使用vbscript编写了一个简单的tail命令。它可以很好地工作,除了非常大的文件,它必须读取整个文件才能获得最后10行。有没有办法查找到文件的末尾,然后向后读取十行?

我担心在VBS TextStream中向后查找是不可能的,但是您可以查找到EOF之前的位置,例如1K,然后读取文件的其余部分,只显示最后10行,而不是读取整个文件

编辑:我正在添加一些示例代码来说明这个想法:

set fso = CreateObject("Scripting.FileSystemObject")
set file = fso.GetFile(filePath)
set stream = file.OpenAsTextStream(1, -2)
pos1KBeforeEnd = file.Size-1024
if pos1KBeforeEnd<0 then pos1KBeforeEnd=0
stream.Skip pos1KBeforeEnd
set fso=CreateObject(“Scripting.FileSystemObject”)
set file=fso.GetFile(文件路径)
set stream=file.OpenAsTextStream(1,-2)
pos1KBeforeEnd=file.Size-1024

如果Pos1kBeforeEnd,是否使用跳过方法?并使用File.Size属性。是的,完全正确。我修改了答案并添加了一些示例代码。我的文件大约为24Gig,stream.skip抛出了一个溢出错误。哦,好吧。我手头没有这么大的文本文件,所以我无法测试这个想法,但也许跳过几个1G跳转就可以了?您可以使用Microsoft文本驱动程序:
strcon=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Docs\;“strcon=strcon&“Extended Properties=”text;FMT=Delimited;HDR=Yes;IMEX=1”“;”
然后,您可以非常快速地选择特定位置。