Diskussion:Batch-Programmierung: Erweiterungen unter Windows NT

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Aus Wikibooks

Habe eben die Umleitung einer Ausgabe in eine Variable eingefügt, diese Methode ist vorallem hilfreich, wenn z.B. IF-Abfragen durchgeführt werden sollen, das Beispiel sollte möglichst einfach sein, ich gebe aber zu, daß hier der eigendliche Vorteil der Umleitung nicht deutlich wird.
Deshalb hier noch ein weiteres Beispiel:

@ECHO OFF
REM Das Programm grep.exe muß im Suchpfad vorhanden sein.
SET PF=pattern.tmp
ECHO.
REM --- Export Example file ------------------------------------------------------------------------
ECHO CONVERGENCE CS-ADL03 SECANT> test.txt 
ECHO      BLOCK-OPTION CONV-LEVEL=3 TERM-LEVEL=3 VAR-LEVEL=3  ^&>> test.txt
ECHO          TVAR-LEVEL=3 >> test.txt
ECHO      SPEC DS-ADL03 >> test.txt
ECHO      PARAM MAXIT=35 MAX-STEP-SIZ=0.1 XTOL=1E-010 BRACKET=YES  ^&>> test.txt
ECHO          XFINAL=XLAST VARITERHIST=YES >> test.txt
ECHO READ-VARS SPMEA3 FXAD03 USMESP >> test.txt
ECHO WRITE-VARS PSWTDA PSMEDA PSMEA3 PSWTA3 ZIDSPM SPMEA1  ^&>> test.txt
ECHO            SPWTA1 >> test.txt
ECHO TEAR-VARS TEAR-VAR=SPMEA1 >> test.txt
ECHO TEAR-VARS TEAR-VAR=SPWTA1 >> test.txt
ECHO BLOCK-OPTION TVAR-LEVEL=3 >> test.txt
ECHO greps: "=NaN" and "= NaN">> test.txt
ECHO ^(m^) >> test.txt       
REM ------------------------------------------------------------------------------------------------
:: Redirect Output to Variable via file 
ECHO \^(XFINAL=[A-Z]{4,8}\^)>%PF%
ECHO type %PF%
type %PF%
grep -o -i -E --file=%PF% test.txt> _.tmp
ECHO type _.tmp
type _.tmp
:: Redirect File content in variable:
SET /P _tmp2=<_.tmp
ECHO a.^) _tmp2: ###%_tmp2%###
:: Delete Spaces:
SET _tmp2=%_tmp2: =%
ECHO b.^) _tmp2: ###%_tmp2%###
IF "%_tmp2%"=="XFINAL=XLAST" ( ECHO Final X: Of last cycle
) ELSE ( ECHO XFINAL is different from Value XLAST )

Grüße

Stefan --134.60.98.67 17:45, 2. Feb. 2009 (CET)[Beantworten]