Jak odczytać plik po wierszu w skrypcie VB?
Mam następujące informacje, aby odczytać plik po wierszu:
wscript.echo "BEGIN"
filePath = WScript.Arguments(0)
filePath = "C:\Temp\vblist.txt"
Set ObjFso = CreateObject("Scripting.FileSystemObject")
Set ObjFile = ObjFso.OpenTextFile(filePath)
StrData = ObjFile.ReadLine
wscript.echo "END OF FIRST PART"
Do Until StrData = EOF(ObjFile.ReadLine)
wscript.echo StrData
StrData = ObjFile.ReadLine
Loop
wscript.echo "END"
TheEOF()
funkcja nie działa:
C:\Users\EGr\Documents\Scripts\VB>cscript testloop.vbs ArgVal
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
BEGIN
END OF FIRST PART
C:\Users\EGr\Documents\Scripts\VB\testloop.vbs(11, 1) Microsoft VBScript runti
me error: Type mismatch: 'EOF'
Nie programowałem wcześniej w VB, ale próbuję odgadnąć pętle, dzięki czemu mogę zmodyfikować skrypt VB, który został mi przekazany. Chcę przeczytać plik po wierszu i zrobić coś z każdym wierszem. Jeśli zmienię pętlę Do Until naDo Until StrData = EOF
, działa, ale zgłasza błąd, gdy dotrze do końca pliku:
C:\Users\EGr\Documents\Scripts\VB>cscript testloop.vbs ThisRANDOMValue
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
BEGIN
1
END OF FIRST PART
host1
host2
host3
C:\Users\EGr\Documents\Scripts\VB\testloop.vbs(13, 2) Microsoft VBScript runti
me error: Input past end of file
Czuję, że prawdopodobnie jest to łatwe rozwiązanie, ale nie udało mi się go znaleźć. Wypróbowałem kilka innych rozwiązań, które znalazłem w Internecie, ale nie tak blisko, jak powyżej.