Liste bzw. Array aus *.txt auslesen

  • VBScript

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Unwesen.

    Liste bzw. Array aus *.txt auslesen

    Hallo!

    bin vbs-Anfänger und habe folgende Frage:

    Ein Teil meines Codes sieht zur Zeit so aus:

    Quellcode

    1. Computerliste = Array("PC1", "PC2", "PC3")


    Allerdings möchte ich die PC-Liste aus einer Textdatei auslesen in der die Namen einfach untereinander stehen:

    PC1
    PC2
    PC3
    ...

    Habe schon ähnliche Beiträge gefunden, konnte mit den Erklärungen aber leider nichts anfangen (Wie gesagt, Anfänger :S )

    *Sieht nach VBScript aus => Topic verschoben*

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hallo,

    wie möchtest du das Array weiterverwenden? Soll damit z.B. eine ListBox gefüllt werden, odereine ComboBox oder sowas?

    Dann hätt ich nen Einzeiler für dich:

    Visual Basic-Quellcode

    1. ListBox1.Items.AddRange(System.Text.RegularExpressions.Regex.Split(My.Computer.FileSystem.ReadAllText("Dateipfad zu .txt Datei"), vbCrLf))


    Gilt für Combobox analog.
    Hier mal der komplette Code:

    Quellcode

    1. Const ForReading = 1, ForWriting = 2, ForAppending = 8
    2. Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
    3. Dim fso, ts, fileObj, TextLine, FileName, Computerliste, Computer, Benutzer
    4. Computerliste = Array("PC1", "PC2", "PC3")
    5. Set fso = CreateObject("Scripting.FileSystemObject")
    6. ' Textdatei generieren
    7. FileName = "testfile.txt"
    8. fso.CreateTextFile FileName
    9. Set fileObj = fso.GetFile(FileName)
    10. ' Open a text stream for output.
    11. Set ts = fileObj.OpenAsTextStream(ForWriting, TristateUseDefault)
    12. ' Admins auslesen und in Datei schreiben
    13. For Each Computer In Computerliste
    14. ts.WriteLine Computer
    15. For Each Benutzer In GetObject("WinNT://" & Computer & "/Administratoren").Members
    16. ts.WriteLine vbTab & Benutzer.name
    17. On Error Resume Next
    18. Next
    19. ' Admins (ENGL) auslesen
    20. For Each Benutzer In GetObject("WinNT://" & Computer & "/Administrators").Members
    21. ts.WriteLine vbTab & Benutzer.name
    22. On Error Resume Next
    23. Next
    24. ts.WriteLine ""
    25. Next
    26. ts.Close
    27. ts.Close


    Mag schon sein, dass das ziemlich amateurmäßig ist, aber hauptsache es funktioniert =P
    Ob amateurmäßig oder nicht spielt ja soweit mal keine Rolle.

    Ich hab jetzt allerdings immer noch keine Antwort auf meine Frage finden können, wie du das Array verwenden willst. bzw. wie die eingelesenen Daten ausgegeben werden sollen. Kannst du mir das bitte noch erklären.

    DJToastbrot schrieb:

    Ob amateurmäßig oder nicht spielt ja soweit mal keine Rolle.

    Ich hab jetzt allerdings immer noch keine Antwort auf meine Frage finden können, wie du das Array verwenden willst. bzw. wie die eingelesenen Daten ausgegeben werden sollen. Kannst du mir das bitte noch erklären.


    Aus dem Array sollen die PCs ausgelesen werden und dann soll abgefragt werden wer Admin an diesem PC ist, mit diesem Codeteil:

    For Each Computer In Computerliste
    ts.WriteLine Computer
    For Each Benutzer In GetObject("WinNT://" & Computer & "/Administratoren").Members

    @Unwesen: Ich kriege immer den Fehler in Z1 "Anweisungsende erwartet"

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „bond007007james“ ()