In einer Batchdatei eine Ascii-Datei durchsuchen

Von: , Frage gestellt am Di, 2. Nov 1999

Hallo!

weiß jemand, wie man innerhalb einer Batch-Datei eine Ascii-Datei nach einem bestimmten Wort oder Ausdruck durchsucht, wenn man den genauen Ort des Ausdrucks in der Datei kennt, also nur prüfen will, ob er vorhanden ist, oder nicht.
Hintergrund: Ein DFÜ-Programm überträgt Daten und erstellt nachher eine Art Log-File, in dem unter anderem steht, ob die Daten erfolgreich übertragen wurden. Nun soll dieses Log-File nach dem Ausdruck "1 Datei(en) kopiert" überprüft werden. Falls dieser vorhanden ist, soll die Übertragungsdatei gelöscht werden, ansonsten soll nichts damit geschehen.

Weiß zufällig jemand, wie man diese Überprüfung bewerkstelligen kann?

CU

Thomas

8 Antworten zu dieser Frage

  1. Antwort von nach 6 Stunden hilfreich
    Re: In einer Batchdatei eine Ascii-Datei durchsuch

    del x.x
    type logdatei | find "1 Datei kopiert" > x.x
    if exist x.x echo alles klar

    • Antwort von nach 16 Stunden hilfreich
      Re^2: In einer Batchdatei eine Ascii-Datei durchsu

      del x.x
      type logdatei | find "1 Datei kopiert"
      > x.x
      if exist x.x echo alles klar
      Die Idee ist zwar gut, funktioniert aber leider nicht, da x.x immer erzeugt wird. Nur, daß einmal der gesuchte Text drinsteht und im anderen Fall eine leere Datei vorliegt. Alles klar erscheint aber auf jeden Fall!

      CU

      Thomas

      • Antwort von nach einem Tag hilfreich
        Re^3: In einer Batchdatei eine Ascii-Datei durchsu

        Nur, daß einmal der gesuchte Text
        drinsteht und im anderen Fall eine leere
        Datei vorliegt. Alles klar erscheint aber
        auf jeden Fall!
        Bist Du sicher?
        Ich habs unter DOS 7 probiert und find hat keine Datei angelegt, wenn Suchtext nicht vorhanden.

        Welche DOS-Version hast Du?


        Vielleicht liefert find einen Errorlevel?

        • Antwort von nach einem Tag hilfreich
          Re^4: In einer Batchdatei eine Ascii-Datei durchsu

          Es handelt sich um ein DOS-Fenster unter Win ´95 also auch "DOS 7" [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

          • Antwort von nach 7 Tagen hilfreich
            Re^5: In einer Batchdatei... jetzt aber

            Ich habs nochmal probiert (auf anderem Rechner) und siehe: Du hast recht, eine 0-Byte lange Datei wird erstellt!

            Aber: Du kannst den Errorlevel benutzen:

            type bootlog.txt | find /I "himem.sys"
            if errorlevel 1 echo 1
            if errorlevel 0 echo 0

            gibt 1 wenn nicht gefunden
            gibt 0 wenn gefunden

            • Antwort von nach 7 Tagen hilfreich
              Re^6: In einer Batchdatei... jetzt aber

              Ist richtig, daß es 0 ergibt, wenn gefunden, ergibt aber 1 und 0 wenn nicht gefunden! D. h. warscheinlich bezieht sich dann bei der zweiten Errorlevelabfrage der Errorlevel auf die erste If-Abfrage. Ganz sauber ist diese Version noch nicht, aber wir kommen näher!

              Gruß

              Thomas [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

            • Antwort von nach 8 Tagen hilfreich
              Re^7: In einer Batchdatei... jetzt aber

              Ist richtig, daß es 0 ergibt, wenn
              gefunden, ergibt aber 1 und 0 wenn nicht
              gefunden! D. h. warscheinlich bezieht
              Ist normal; Errorlevels mußt Du immer vom höchsten an abfragen und dann eben ein entsprechendes GOTO machen statt ECHO

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!