Bestimmte Indizes in eine neue Textdatei schreiben

  • Hallo Gemeinde,

    ich soll aus einem Hardwarereport(Textfile) nur bestimmte Werte herauslesen und in ein neues Textfile schreiben.

    Wie müsste ich die zu verwenden Indizes bei den Fragezeichen eintragen, bzw. geht das überhaupt so?

  • Um diese Frage zu beantworten musst Du uns schon den Aufbau des Datensatzes zeige oder mitteilen. Denn wie Du sicher weißt geht das so:

    Function _ArrayToString

    Places the elements of a 1D or 2D array into a single string, separated by the specified delimiters


    LGPeter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hallo Peter S. Taler,

    Also ich bin mir nicht ganz sicher was du meinst:

    Das Array ist ein 1D Arrray und in den Indizes stehen Werte wie "CPU Brand Name: 13th Gen Intel(R) Core(TM) i5-13500" (ist z.B. Index 22)

  • Also: Nagel mich nicht drauf fest aber ich denke @CRLF wird shcon mal falsch sein, da jedes @CRLF beim einlesen von der Datei ins Array = Eine Zeile (Row) ergeben wird.

    Daher ersetze: Local $s_Text = _ArrayToString($aArray1, @CRLF, ;??????? ) durch

    AutoIt
    Local $i_StartRow = 1, $i_EndRow = 4
    Local $s_Text = _ArrayToString($aArray1, Default, $i_StartRow, $i_EndRow)

    Dann kopiert er Zeile 1-4 des Arrays in deinen String.

  • Hallo Moombas,

    das ist ja mein Prob: die zu verwendenden Indizes stehen eben nicht untereinander. Also kann ich wie in deinem Beispiel eine Range 1-4 nicht nehmen oder?

    Das @CRLF soll Delimiter sein, damit der Inhalt der Indizes in eine neue Zeile geschrieben wird...

  • Hallo Moombas, hallo Peter,

    ich habe eine Lösung gefunden:

    Code
    $aArrayFromText = _ArrayFromString($aArray1[22] & "|" & $aArray1[28])

    Das erzeugt ein neues Array mit den Inhalten der beiden Indizes 22 und 28. So kann ich dann das neue Array mit _ArraytoString() in die neue Datei schreiben...
    Ob das jetzt elegant ist, weiss ich nicht aber es funzt...

  • hipfzwirgel,

    verzeih mir, aber ich finde es sehr umständlich, aus bekannten Elementen eines Arrays erst ein neues Array aufzubauen, nur um das dann mit _ArraytoString wieder in einen String zu verwandeln, der dann weggeschrieben wird. Das geht doch bei Deinem Beispiel auch mit:

    Es mag ja sein, dass das mehr Codezeilen benötigt. Man sieht aber auf den ersten Blick, was da passiert.

  • Also manchmal verstehe ich die Probleme nicht wirklich.....

    Wenn ich die Diskusion richtig interpretiere stehen im Array an den Stellen [22], [28], [31],[32],[38],[42] Werte die man haben will.

    $_help = $_array[22] & ';' & $_array[28] & ';' & $_array[31] & ';' & ';' & $_array[32] & ';' & $_array[38] & ';' & $_array[42]

    Denn Trenner ';' kann man natürlich durch jeden beliebigen Wert ersetzen z.B. durch ein chrlf. Anstelle einer Hilfsvariablen kann man es auch sofort in ein Textfile schreiben.... Elegant? Klar weil simpel

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)