VBScript einen Wert aus einer TXT auslesen und in eine Variable speichern
Guten Tag,
Da ich diese Woche das erste mal mit VBScript beschäftige habe hab ich leider nicht viel Ahnung von den ganzen.
Ich bräuchte eure Hilfe und zwar habe ich mit einen VBS einen wert einer Variable in einer TXT gespeichert. Ich möchte jetzt mit einen anderen Script diesen wert wider Auslesen und in eine andere Variable gespeichert werden.
Ausgelesen sollte immer die ganze TXT Datei werden (es handelt sich um 2 - 3 Wörter).
Ich wäre sehr froh, wen ihr mir helfen könntet.
Vielen Vielen dank,
Pictop
Da ich diese Woche das erste mal mit VBScript beschäftige habe hab ich leider nicht viel Ahnung von den ganzen.
Ich bräuchte eure Hilfe und zwar habe ich mit einen VBS einen wert einer Variable in einer TXT gespeichert. Ich möchte jetzt mit einen anderen Script diesen wert wider Auslesen und in eine andere Variable gespeichert werden.
Ausgelesen sollte immer die ganze TXT Datei werden (es handelt sich um 2 - 3 Wörter).
Ich wäre sehr froh, wen ihr mir helfen könntet.
Vielen Vielen dank,
Pictop
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169711
Url: https://administrator.de/forum/vbscript-einen-wert-aus-einer-txt-auslesen-und-in-eine-variable-speichern-169711.html
Ausgedruckt am: 23.12.2024 um 00:12 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
zuerst mal:
Und eine Variable zweimal zu deklarieren, ist schwachsinn. Also entweder Public oder Dim - nicht beides.
Zum auslesen des Inhalts:
Mathe172
[Edit: P.S.: Schau mal hier <-- Link!]
zuerst mal:
Dim Variable As String = My.Computer.FileSystem.ReadAllText(Txt-Datei)
Das funktioniert meines Wissens nach nur in .NETUnd eine Variable zweimal zu deklarieren, ist schwachsinn. Also entweder Public oder Dim - nicht beides.
Zum auslesen des Inhalts:
Dim File as String
File="C:\Datei.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(File, 1)
Dim Inhalt as String
Do Until objFile.AtEndOfStream
Inhalt = Inhalt & objFile.ReadLine
Loop
' Oder statt Zeile 6-8 das: (wenns nur eine Zeile ist)
'Inhalt=obj.File.ReadLine
Wscript.echo Inhalt
Mathe172
[Edit: P.S.: Schau mal hier <-- Link!]
Hallo Pictop,
schau Dir das mal an:
Die
Das ist zwar umständlich (man könnte auch die Methode
Das letzte Element diese Arrays ist immer leer, da die letzte Zeile der Datei ebenfalls mit einem nachfolgenden Zeilenumbruch in den String
Die
Wenn Du den Inhalt der Zeilen bestimmten Variablen zuweisen willst, musst Du die Zeilennummer in der Datei kennen, in der der Wert für eine bestimmte Variable steht. Zeile 1 wäre dann Index 0 im Array, Zeile 2 Index 1 usw.
@mathe172 und ackerdiesel:
Was Ihr da verwendet ist Visual Basic, nicht Visual Basic Script. In VBS sind alle Variablen typenlos, Dinge wie
Gruß
Friemler
schau Dir das mal an:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInFile = objFSO.OpenTextFile(strInFile, ForReading)
While Not objInFile.AtEndOfStream
strContent = strContent & objInFile.ReadLine & vbCRLF
Wend
arrContent = Split(strContent, vbCRLF)
For I = 0 To UBound(arrContent) - 1
WScript.Echo arrContent(I)
Next
Die
While
-Schleife liest die Datei Zeile für Zeile ein und schreibt jede Zeile mit einem nachfolgenden Zeilenumbruch in den String strContent
. Dieser String wird von der Funktion Split
anhand des Zeilenumbruchs wieder in einzelne Zeilen zerlegt und aus den einzelnen Zeilen das Array arrContent
erzeugt.Das ist zwar umständlich (man könnte auch die Methode
ReadAll
des File-Objects verwenden), garantiert aber, dass es egal ist, ob die letzte Zeile der Datei mit einem Zeilenumbruch abgeschlossen ist oder nicht - das Array arrContent
enthält in beiden Fällen die gleiche Anzahl von Elementen.Das letzte Element diese Arrays ist immer leer, da die letzte Zeile der Datei ebenfalls mit einem nachfolgenden Zeilenumbruch in den String
strContent
geschrieben wird. Danach kommt nichts mehr, aber Split
erzeugt wegen dem Zeilenumbruch dennoch ein zusätzliches (leeres) Arrayelement.Die
FOR
-Schleife läuft deshalb von 0 bis zum größten Index des Arrays minus 1. Hier werden die Zeilen der Datei mit WScript.Echo
ausgegeben.Wenn Du den Inhalt der Zeilen bestimmten Variablen zuweisen willst, musst Du die Zeilennummer in der Datei kennen, in der der Wert für eine bestimmte Variable steht. Zeile 1 wäre dann Index 0 im Array, Zeile 2 Index 1 usw.
@mathe172 und ackerdiesel:
Was Ihr da verwendet ist Visual Basic, nicht Visual Basic Script. In VBS sind alle Variablen typenlos, Dinge wie
Dim Var As String
führen nur zu Fehlern.Gruß
Friemler