1. Startseite
  2. Forenübersicht
  3. Dashboard
  4. Forum
    1. Unerledigte Themen
  5. Tipps und Tricks
    1. Windows 11 Tipps
    2. Windows 10 Tipps
    3. Windows 8 Tipps
    4. Windows 7 Tipps
    5. Windows Vista Tipps
    6. Windows XP Tipps
    7. MS Office Tipps
    8. FritzBox Tipps
    9. Workshops - Anleitungen
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. win-tipps-tweaks.de Community
  2. Windows
  3. Windows-XP
  4. System allgemein

Batch - größer als oder gleich

  • Schens
  • 12. März 2006 um 16:47
  • Geschlossen
  • Schens
    umgesehen
    Punkte
    50
    Beiträge
    8
    • 12. März 2006 um 16:47
    • #1

    Hi Leute,

    ich hab da nen Prob.
    ich habs auch schon mit /help if versucht aba ich steig da nich durch

    und zwar führe ich in einer Batch eine eine datei aus die e-mails verschickt.
    Den Text dafür bekommt sie von einem Programm übergeben.

    nun meine Frage:

    Wie funktioniert das mit dem größer als oder gleich ?

    Manchmal bekommt die batch nicht denn ganzen Text übergeben und schickt die E-Mail mit halben Text raus und 2 sec später kommt dann der richtige text und dann geht die Mail nochmal raus.

    Nun möchte ich eben es so machen, die E-Mail erst dann geschickt wird, wenn der Text der übergeben wird eine bestimmte anzahl an zeichen hat.

    Wie funktioniert das ?

    im mom sieht meine Batch so aus:

    if [NOT] %1 4 goto ok

    :ok
    EXE AUSFÜHRUNG


    ich weiss dass das falsch ist ( geht ja auch nicht )

    also das sollte jetzt so dargestellt sein das wenn der Text der über %1 übernommen wird nicht kürzer als 4 zeichen ist soll er weiter zu ok gehn.

    kann mir da jemand helfen ?

  • Helloween
    Meister
    Punkte
    14.480
    Beiträge
    2.865
    • 12. März 2006 um 17:02
    • #2

    Hallo programmierer,

    das hilft dir vllt.: http://www.antonis.de/dos/batchtut/bat-kurs/

    Acer Aspire Quad Q9300 2,5 GHz
    HDD 750 GB
    Ram 4 GB
    Vista Home Prem. SP2 64-bit

  • Schens
    umgesehen
    Punkte
    50
    Beiträge
    8
    • 12. März 2006 um 17:40
    • #3

    hallo,

    danke für die seite aber leider bin ich keinen schritt weiter.
    Ich wiess ja noch nichtmal ob DOS überhaupt auslesen kann wieviele Zeichen in dem Übergebenen Text vorhanden sind.

  • Top-se
    Masterprofessional
    Reaktionen
    1
    Punkte
    8.006
    Beiträge
    1.566
    • 12. März 2006 um 18:47
    • #4

    Hiho!

    Also erstmal zu dem größer und kleiner, da gibt es Operatoren wie "EQU" oder "LSS" oder so, guckst du:
    http://www.microsoft.com/resources/docu…s/en-us/if.mspx
    da findest du auch die Syntax!

    Und wegen deinem Zeichen zählen, also das hab ich noch nicht raus gefunden, aber du könntest z.B. den String nach bestimmen Zeichenfolgen durchsuchen, die dann z.b. am Ende der Mail kommen.
    Schau dir dazu die Syntax des Befehls

    Code
    findstr

    an!
    http://www.microsoft.com/resources/docu…us/findstr.mspx

    Würde mich freuen, wenn du den ganzen Code mal präsentieren würdest, bin neugierig :D

    nichts gegen die Amis, aber:
    - Das Pfeifen unter Wasser ist in Florida verboten.
    - In Oklahoma ist das Erschrecken von Hunden durch Grimassenschneiden verboten.
    - In Tennessee ist es gesetzlich verboten, Fische mit dem Lasso zu fangen.

    nihct nciht ncith cnith nicth -> alles das Selbe: NICHT dieses Wort is mir einfach zu komplex!

  • Schens
    umgesehen
    Punkte
    50
    Beiträge
    8
    • 12. März 2006 um 20:01
    • #5

    Hallo,

    also ich hab da was aba es geht irgendwie nicht.

    Der Text wird in eine Datei geschrieben da werden dann die zeichen ausgelesen und gezählt und wenn es klappt sollte es gehn.
    Macht es abaer nicht.

    Sobald ich so auf die bat drück löst es die exe trozdem aus und ich weiss nicht warum.

    @echo
    echo %1>test.txt
    FOR /F "usebackq skip=3 tokens=3,4 delims= " %%a IN (`dir test.txt`) DO IF "%%b"=="test.txt" set laenge=%%a
    IF %laenge% GTR 50 goto ok

    :ok

    und geht geht eben zu ok wenn es 20 zeichen sind oder 50. Ich weiss nich wo da der fehler sein sollte.

  • Top-se
    Masterprofessional
    Reaktionen
    1
    Punkte
    8.006
    Beiträge
    1.566
    • 12. März 2006 um 20:56
    • #6

    Hiho!

    Das ist doch aber nicht die komplette Batch, oder? Kannst du mal bitte die komplette angeben!?

    Weil die Batches werden von oben nach unten abgearbeitet bzw. halt die "goto" Befehle beachtet und so ...
    Also kann es denn nicht einfach sein, dass das hier:

    Code
    IF %laenge% GTR 50 goto ok

    wirklich nicht zutrifft, weil laenge unter 50 ist, aber einfach während der Abarbeitung der Batch zu dem Punkt "ok" kommt und damit die exe trotzdem auslöst!?

    hast du dir denn mal die Variable "laenge" mit echo anzeigen lassen? Wird ihr denn die richtige Zeichenanzahl übermittelt?

    versuch mal statt

    Code
    set laenge=%%a


    das zu schreiben:

    Code
    set /a laenge=%%a

    Kannst du mal den kompletten Code posten?

    nichts gegen die Amis, aber:
    - Das Pfeifen unter Wasser ist in Florida verboten.
    - In Oklahoma ist das Erschrecken von Hunden durch Grimassenschneiden verboten.
    - In Tennessee ist es gesetzlich verboten, Fische mit dem Lasso zu fangen.

    nihct nciht ncith cnith nicth -> alles das Selbe: NICHT dieses Wort is mir einfach zu komplex!

  • Schens
    umgesehen
    Punkte
    50
    Beiträge
    8
    • 13. März 2006 um 06:35
    • #7

    so leute jetzt geht.

    Die Batch:

    @echo
    echo %1>Feuerwehreinsatz.txt
    FOR /F "usebackq skip=3 tokens=3,4 delims= " %%a IN (`dir Feuerwehreinsatz.txt`) DO IF "%%b"=="Feuerwehreinsatz.txt" set laenge=%%a
    del Feuerwehreinsatz.txt
    IF %laenge% GTR 35 goto ok
    goto ende
    :ok
    Exe ausführung
    :ende

    Ich musste natürlich das GTR auf ca 35 sezten weil wenn ich alleine die Datei aufrufe die Batch in die TXT schreibt das Echo eingeschaltet ist und das sind ja schon alleine ca 32 Zeichen.

Registrierung

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen

Letzte Beiträge

  • Wie finde ich die besten Fototapeten für mein Zuhause?

    LukasSchmidt 31. März 2025 um 16:24
  • Was habt ihr euch zuletzt gekauft?

    LarsKlars 3. März 2025 um 10:08
  • Word 2010: Silbentrennung aktivieren

    Mannitwo 28. November 2024 um 16:24
  • Die Kunst des Einschenkens von Bier.

    Mannitwo 22. November 2024 um 17:45
  • "Foundation" bei Apple TV+: Zwei Folgen so teuer wie ein Kinofilm

    kinleyperson 17. September 2024 um 11:35
  1. Kontakt
  2. Impressum
  1. Datenschutzerklärung
  2. Nutzungsbedingungen
Community-Software: WoltLab Suite™ 6.0.22