landstreicher
Goto Top

Beim Txt-Datei auslesen wird am ende eine leere Zeile mit ausgelesen

Hallo,

ich habe folgendes Problem.

Ich will aus einer TXT-DATEI zeilen auslesen. es können 1, 2 oder 10 zeilen sein. Pro Zeile steht ein zusammenhängendes Wort/Begriff (zB: cog_pti_pm2_plandaten).

Das mit dem Auslesen klappt soweit, nur irgendwie ließt er am ende scheinbar immer eine leere Zeile mit aus.
Die ausgelesen Zeilen werden dann am ende mit .bat versehen und nacheinander angestartet (siehe Batch)

das macht sich am ende dann sehr Blöd, weil er immer versucht "nichts" anzustarten weil die leere Zeile ja nichts ist.

hier mal die Batch.
for /F "tokens=1-10 delims=<>" %%a in ('findstr bat D:\cognos\Contributor\Macros\exec.txt') do call :ProcessFile "%%a"  
:ProcessFile
set "Variable=%~1"  
echo ------- Macro %Variable% wird ausgefuehrt -------
call D:\cognos\Contributor\Macros\%Variable%
if %errorlevel%==2 goto :frage
if %errorlevel%==0 goto :eof


:frage 
Echo;
Echo Ein Fehler wurde festgestellt beim ausfuehren des Macros %Variable%,
echo;
SET /P Choice=[J] fuer erneuter Lauf, [N] naechstes Upload_Macro: 
IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%  
IF /I '%Choice%'=='N' GOTO :eof  
IF /I '%Choice%'=='J' GOTO :ProcessFile  

IF /I '%Choice%'=='n%' GOTO error  

Echo FALSCHE EINGABE von Terminal %COMPUTERNAME% !!!!!
:error
ping 127.0.0.1 -n 3 >nul
goto :start

if not "%1"=="" goto :start  

:eof

Mfg Landstreicher

Content-Key: 75345

Url: https://administrator.de/contentid/75345

Printed on: April 19, 2024 at 19:04 o'clock

Member: bastla
bastla Dec 06, 2007 at 09:26:17 (UTC)
Goto Top
Hallo Landstreicher!

Du musst das Hauptprogramm noch vor dem Beginn des Unterprogrammes ":ProcessFile" beenden (damit das Unterprogramm nicht einmal zuviel und dann auch noch ohne übergebenen Parameter %1 ausgeführt wird) - dazu einfach eine Zeile "goto :eof" vor ":ProcessFile" einfügen.

Grüße
bastla
Member: Landstreicher
Landstreicher Dec 06, 2007 at 10:02:35 (UTC)
Goto Top
Hallo bastla,


das kling zu einfach face-wink und auch noch logisch ....
ich probier das mal aus und stelle fest, es geht.

merci und danke für die schnelle lösung.