zensbert
Goto Top

Variableninhalt teilweise extrahieren

Hi,
ich habe eine Variable, da ist z.b. der Wert
'#1, Partition #2'
drin, jedoch benötige ich nur die erste Zahl in einer neuen Variable,
sprich %variableneu% = 1
wird schon irgendwie hinzukriegen sein, bin jedoch unfit in batch,

thx for help

Content-Key: 85131

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

Printed on: April 16, 2024 at 07:04 o'clock

Member: miniversum
miniversum Apr 09, 2008 at 19:16:21 (UTC)
Goto Top
Zum deutlich machen:
set Variable=#1, Partition #2
set Variable2=%Variable:~1,1%
echo %Variable%
echo %Variable2%
Die erste 1 ibei
set Variable2=%Variable:~1,1%
Ist die Anfangsposition und die zweite 1 die Länge.
Willst du noch eventuelle zweistellige Zahlen berücksichtigen dan ginge das so:
set Variable=#1, Partition #2
if "%Variable:~1,1%" neq "," (set Variable2=%Variable:~1,2%) else (set Variable2=%Variable:~1,1%)
echo %Variable%
echo %Variable2%

Eleganter geht es auch so:
set Variable=#1, Partition #2
FOR /F "delims=#," %%i in ('echo %Variable%') do set Variable2=%%i
echo %Variable%
echo %Variable2%
Member: zensbert
zensbert Apr 10, 2008 at 05:51:57 (UTC)
Goto Top
dank dir, hat geklappt^^
kannsde mir mal die zeile
set Variable2=%Variable:~1,1%
bischen erklären, falls ich noch feintuning brauche?

gruß
Member: miniversum
miniversum Apr 10, 2008 at 17:16:12 (UTC)
Goto Top
Die erste 1 ibei
> set Variable2=%Variable:~1,1%
Ist die Anfangsposition und die zweite 1 die Länge.
Allgemeiner:
echo %variable:~a,b%
a ist die Position des ersten Zeichens, b die länge die ab diesem zeichen ausgegeben werden soll.
Genaueres findest du in der Hilfe zum Set Befehl indem du in der Eingabeaufforderung set /? eingibst.