所以,我試圖梳理通過一個大的文本文件只包含某些文本的某些行。想要將整行寫入新的文本文件。這是我想出來的,但它完全清空了taget文本文件,並給了我錯誤「輸入文件末尾」。閱讀文本文件,並只寫行與某些文字
Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "C:\Users\Choti\Desktop\collect\collect.L"
strTemp = "C:\Users\Choti\Desktop\collect\temp.txt"
Set objFile = objFS.GetFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Set ts = objFile.OpenAsTextStream(1,-2)
Do Until ts.AtEndOfStream = false
strLine = ts.ReadLine
' do something with strLine
if strLine like "tagId" Then
objOutFile.Write(strLine)
end if
ts.AtEndOfStream = false
Loop
objOutFile.Close
ts.Close
objFS.DeleteFile(strFile)
objFS.MoveFile strTemp,strFile
在此先感謝!
UPDATE:工作守則
Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "C:\Users\Choti\Desktop\collect\collect.L"
strTemp = "C:\Users\Choti\Desktop\collect\temp.txt"
Set objFile = objFS.GetFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Set ts = objFile.OpenAsTextStream(1,-2)
Do While Not ts.AtEndOfStream
strLine = ts.ReadLine
if Instr(1, strLine, "tagId") > 0 Then
objOutFile.WriteLine strLine
end if
Loop
objOutFile.Close
ts.Close
你不檢查,看是否有行*包括*「標籤識別」,但行,而不是是否等於「標籤識別」。使用'Instr()'或'Like'來檢查一個字符串是否包含在另一個字符串中。你在計數/計數器上做什麼? –
我剛剛意識到並更新了它,但現在即時獲取輸入文件結束。它也刪除目標文本文件中的所有內容 – duckfeet23
這是VBA還是VBScript?一個有'Like'操作符,另一個沒有。 –