Batch datei geht nicht

Hallo,

ich hab da ein Prob.
Ich habs auch schon mit /help if versucht aber 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.

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 hat mir nen Kumpel eine bat geschrieben aber dies funktioniert irgendwie nicht.

Wenn ich die bat einfach so anklicke schickt sie trotzdem eine E-Mail raus. Auch wenn die Zeichen weniger sind als sie dürfen geht die Mail raus.

Vielleicht endeckt ihr ja den Fehler.

@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

C:\Pfad\Ordner\Datei.exe

O.T. ist das eine Dos Batch?

@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

C:\Pfad\Ordner\Datei.exe

Hi Jens,
aus dem Bauch und ohne Ahnung würde ich sagen man müßte das so schreiben:

@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
goto ende

ok

C:\Pfad\Ordner\Datei.exe
ende

Ich kannte mal Dos3.3 Batches recht gut was dann auch bei Win98 brauchbar ist/war.
Jetzt habe ich winXP, da heißt es nicht mehr command sondern cmd usw.
Früher, auf der Win98-CD gabs auch noch Doshilfe-Dateien wo die Batchbefehle und Parameter erklärt wurden.
Wo finde ich das bei WinXP?
Danke und Gruß
Reinhard

Hi Leute,

also ich denke es gefunden zu haben.

@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 muss auch die GTR Zahl über 30 setzen weil wenn kein Text in %1 steht, steht in der Feuerwehreinsatz.txt das Echo eingeschaltet ist und das sind ca 30 zeichen, und da die ja schon da sind führt er auch die Exe aus.

Danke noch für das goto ende - das hatte ich vergessen.

Mfg

Hallo,

2 Gedanken:

  • evtl. stoert der Tausenderpunkt der DIR-Liste?
    � dann nimm dir /-C statt dir…
  • evtl. hilft nach @echo off ein
    � if not exist dingens goto ende

cu
kai

oder ist schon alles erledigt?

Moin,

Ich kannte mal Dos3.3 Batches recht gut was dann auch bei
Win98 brauchbar ist/war.
Jetzt habe ich winXP, da heißt es nicht mehr command sondern
cmd usw.
Früher, auf der Win98-CD gabs auch noch Doshilfe-Dateien wo
die Batchbefehle und Parameter erklärt wurden.
Wo finde ich das bei WinXP?

Ich kenne nur Win2k, und da geht das mit ‚cmd /?‘. Dort ist auch erklärt, daß man mit ‚befehl /?‘ genauere Infos zu einem Batch-Befehl erhält. Beispielsweise ‚for /?‘ erklärt alle Möglichkeiten des for-Kommandos. Mit DOS hat das allerdings nicht mehr viel zu tun… :wink:

Danke für die Info o.w.T.