Ankündigung

Einklappen
Keine Ankündigung bisher.

Batch-Programmierung - Problem

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Batch-Programmierung - Problem

    Hallo Leute!

    Ich habe mir letztens einige Artikel im Internet durchgelesen, um mich etwas mit Batch-Progarmmierung vertraut zu machen. Deswegen kenne ich mich da so gut wie gar nicht aus. Und mich groß duch lange Anleitungen wälzen möchte ich nicht, da ich erstmal nur ein Programm damit programmieren will.

    Bin nur gestern auf ein Problem gestoßen, das durch googeln und sonstiges nicht behoben werden konnte.
    Und zwar...

    Ich möchte abfragen, welche Version des .NET-Farmeworks installiert ist, wozu ich im Verzeichnis %windir%\Microsoft.NET\Framework die Existenz der Ordner mit den jeweiligen Versionsnamen abfragen möchte. Das Problem ist, dass es nicht nur "gerade" Versionen wie "v3.5" gibt, sondern auch z.B. "v2.0.50727". Ich schätze mal, das das Anhängsel ".50727" eine Unterversion von 2.0 ist, wovon es wahrscheinlich sehr viele verschiedene gibt. Da ich in dem Fall nicht jede exakte Version abfragen kann, weils zu viel wär, würde ich gerne nur abfragen, ob der Ordnername mit "v2.0" beginnt, was ja auch das einzige ist, was mich interessiert.

    Jetzt meine Frage:
    Wie kann ich abfragen, ob der Name des Ordners mit einer bestimmten Zeichnenfolge beginnt?



    Hätte auch noch eine andere, nicht so wichtige, Frage...
    Ich würde gerne immer über dem aktuellen Text im Fenster einen bestimmten Text anzeigen lassen. Also einen Text der ganz oben steht und da sozusagen fix ist, darunter steht dann je nach Situation immer was anderes.

    Wie kann ich erreichen, dass ein bestimmter Text immer angezeigt wird und auch nicht mit der Clean-Screen-Funtkion (cls) gelöscht wird? Kann ich den in ne Variable oder sowas stecken und die dann immer angeben oder kann man sowas einmal am Anfang des Scripts angeben, oder sowas?


    Ich sag schonmal ein großes DANKE an alle Helfer und alle die es versuchen!

    LG,
    Teal'c
    "Im Fernsehen sind Weltraumschlachten immer viel spannender als im normalen leben." - Colonel Shepard in Stargate Atlantis Staffel 3, Folge 20

  • #2
    Zitat von Primus Teal'c Beitrag anzeigen
    Hätte auch noch eine andere, nicht so wichtige, Frage...
    Ich würde gerne immer über dem aktuellen Text im Fenster einen bestimmten Text anzeigen lassen. Also einen Text der ganz oben steht und da sozusagen fix ist, darunter steht dann je nach Situation immer was anderes.

    Wie kann ich erreichen, dass ein bestimmter Text immer angezeigt wird und auch nicht mit der Clean-Screen-Funtkion (cls) gelöscht wird? Kann ich den in ne Variable oder sowas stecken und die dann immer angeben oder kann man sowas einmal am Anfang des Scripts angeben, oder sowas?
    Du kannst ihn in eine Variable stecken aber du wirst diese immer nach einem cls neu ausgeben müssen.
    Ohne cls geht es leider nicht und wenn du dann wieder unten nach ca. der 25. Zeile im Terminal angekommen bist, dann mußt du wieder ein cls ausführen und die Variable wieder ausgeben.


    Bezügl. deinem Versionsproblem brauchst du, wenn du die Versionsnummer als String hast, ein Programm, das Textstrings nach bestimmten Kriterien bearbeiten kann. Unter Unix gibt es dafür (g)awk usw. aber ich weiß jetzt nicht was du unter Windows hierfür nehmen könntest, zumindest nicht, was unter Windows Standardmäßig dabei ist.
    Gawk gibt's aber auch für Windows, nur müßtest du es immer mitliefern wenn du z.B. ein Programm verteilen willst.
    Ein paar praktische Links:
    In Deutschland empfangbare FreeTV Programme und die jeweiligen Satellitenpositionen
    Aktuelles Satellitenbild
    Radioaktivitätsmessnetz des BfS

    Kommentar


    • #3
      Hallo Cordess!

      OK, das mit der Variable wäre eine Lösung, wie ich sie mir vorstelle. Nur wie stopfe ich das in eine Variable? Das sind mehrere Zeilen... Kann man mit set auch mehrere Zeilen deklarieren? Und wenn ja, wie?


      Zitat von Cordess Beitrag anzeigen
      Bezügl. deinem Versionsproblem brauchst du, wenn du die Versionsnummer als String hast, ein Programm, das Textstrings nach bestimmten Kriterien bearbeiten kann. Unter Unix gibt es dafür (g)awk usw. aber ich weiß jetzt nicht was du unter Windows hierfür nehmen könntest, zumindest nicht, was unter Windows Standardmäßig dabei ist.
      Gawk gibt's aber auch für Windows, nur müßtest du es immer mitliefern wenn du z.B. ein Programm verteilen willst.

      Ufff.... einfacher geht das nicht? Gibts für Batchs nicht sowas wie in SQL %LIKE%?
      Naja, ich werd mal gucken, ob ich mit Gawk was hinbekomm...

      Danke für deine Hilfe


      EDIT:
      Ich denke das Versionsproblem hat sich gelöst...
      Ich bin meinem Verdacht, dass es gar nicht so viele Unterversionen gibt wie ich dachte, nachgegangen und googeln ergab eine Liste der Versionen auf Wikipedia, die halbwegs überschaulich ist.
      Ich werde also lieber alle möglichen Versionen direkt abfragen anstatt die ersten vier Buchstaben aus dem Ordnernamen umständlich zu extrahieren und nur die zu betrachten.

      Dennoch danke für den Tipp mit Gawk, merk ich mir mal für später!


      EDIT:
      Das andere Problem hat sich ebenfalls gelöst. Ich habe einfach nur eine Zeile genommen, das genügt eigentlich und das kann ich ja in eine Variable stecken.

      Also... alles hat sich erledigt! Sorry, dass ich überhaupt gefragt habe und deine Zeit verbraucht habe Cordess...

      Der Thread könnte geschlossen werden...
      Zuletzt geändert von Primus Teal'c; 13.05.2010, 00:21.
      "Im Fernsehen sind Weltraumschlachten immer viel spannender als im normalen leben." - Colonel Shepard in Stargate Atlantis Staffel 3, Folge 20

      Kommentar

      Lädt...
      X