【发布时间】:2013-11-23 00:36:24
【问题描述】:
我目前无法从文本文件中删除前两行。我正在使用下面的代码。它适用于小文本文件,但不适用于非常大的文本文件。我一直试图让它工作的文件大小超过 130,000kb。
我没有收到任何错误消息,它只是删除了文件中的所有内容,使其完全空白。无论如何我可以让它工作吗?
Const FOR_READING = 1
Const FOR_WRITING = 2
strFileName = "\\File\test Scp\ZRAS.txt"
iNumberOfLinesToDelete = 2
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
strContents = objTS.ReadAll
objTS.Close
arrLines = Split(strContents, vbNewLine)
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
For i=0 To UBound(arrLines)
If i > (iNumberOfLinesToDelete - 1) Then
objTS.WriteLine arrLines(i)
End If
Next
MSGBOX "Done"
【问题讨论】:
-
您的标题是“VBS”,似乎是指 VBScript。您的标签上写着“vb.net”。您的代码看起来像 VB6。这三个是哪一个?它们不是一回事。
-
作为 VBA 对我来说工作正常。可能是 VBS 不支持某些内容。请注意,您正在写入源文件并在此过程中将其销毁。如果出现问题,数据就会消失。最好写入一个新文件,然后删除旧文件(或重命名为可能在文件名中带有日期的 BAK 名称)并将新文件重命名到位。
-
我正在使用 VBS 我修复了标签。我尝试写入一个新文件,但没有奏效。它非常适合小文件,但我正在处理的文件非常大,并且由于某种原因它无法处理它。
标签: vbscript