Comment lire un fichier ligne par ligne dans VB Script?
J'ai le texte suivant pour lire un fichier ligne par ligne:
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"
La EOF()
fonction ne semble pas fonctionner:
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'
Je n'ai pas programmé en VB, mais j'essaie de comprendre les boucles de sorte que je peux modifier un script VB, j'ai été remis. Je veux lire un fichier ligne par ligne, et faire quelque chose avec chaque ligne. Si je change Jusqu'à la boucle de Do Until StrData = EOF
il fonctionne, mais renvoie une erreur quand il arrive à la fin du fichier:
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
Je me sens comme il y a probablement une solution facile, mais je n'ai pas été capable de le trouver. J'ai essayé quelques autres solutions que j'ai trouvé en ligne, mais n'ont pas obtenu d'aussi près que ci-dessus.
source d'informationauteur EGr
Vous devez vous connecter pour publier un commentaire.
En cas de doute, lisez l' la documentation:
Si quelqu'un comme moi, est à la recherche de lire qu'une seule ligne, par exemple, seulement la ligne 18 voici le code: