pollekowski
Goto Top

Formatieren einer Ausgabe mit Variablen

Wie kann ich ein "ECHO %Variable1:~Var2,VAR3%" umsetzen?

Hallo,

ich versuche gerade eine Variable auszugeben bei der vorn und hinten jeweils etwas abgeschnitten wird.

Das Programm könnte auten:
@ECHO OFF & setlocal EnableDelayedExpansion 
SET Var1 = "Antwort von 193.99.144.80: Bytes=32 Zeit=13ms TTL=246"  
SET Var2 = 41
SET Var3 = 10

REM Ausgeführt werden soll im Bsp. ECHO %Var1:~41,-10%
ECHO %Var1:~Var2,-VAR3%
Und die Ausgabe sollte dann nur "13" sein.

Jemand ne Idee?

Content-ID: 128091

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

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

H41mSh1C0R
H41mSh1C0R 28.10.2009 um 10:43:21 Uhr
Goto Top
Wenn du eine Zeichenkette zerlegen willst, heißen die Stichwörter Delimiter (Trennzeichen) und Token.

Interpretier ich das richtig und du willst von Var1 nur die 13ms oder was willst du abschneiden bzw. dran lassen? *Glaskugel schrupp*
Pollekowski
Pollekowski 28.10.2009 um 10:59:00 Uhr
Goto Top
Genau, ich will nur die 13. Auch ohne ms.

Je nach Rechner und Zielhost können IP und TTL halt unterschiedlich lang sein.
H41mSh1C0R
H41mSh1C0R 28.10.2009 um 11:03:31 Uhr
Goto Top
dann nimm 2 delimiter

einmal "=" um den Anfang der interessierenden Zeichenkette zu markieren und danach falls kein 2tes "=" kommt nimmst "ms" als 2ten Delemiter und die dazwischen ermittelte Zeichenkette gibst du aus, denn das ist deine Zeit. =)
Pollekowski
Pollekowski 28.10.2009 um 11:32:20 Uhr
Goto Top
Warum denn nicht gleich so face-smile

SET HOSTIP=193.99.144.80

SET MYDATE=%DATE:~0,2%_%DATE:~3,2%_%DATE:~6,4%
SET LOG=Logfiles\%HOSTIP%-%MYDATE%.log
SET TMP=tmp\%HOSTIP%.tmp
SET TMP2=tmp\%HOSTIP%.tmp2
MD TMP
MD Logfiles
DEL %TMP%
DEL %TMP2%

ping %HOSTIP% -n 1 > %TMP%
findstr "TTL=" %TMP%  
If %ERRORLEVEL% EQU 0 GOTO CUTOFF
GOTO irgendwasanderes

:CUTOFF
DEL %TMP2%
FOR /F "tokens=5 delims= " %%T IN ('findstr "TTL=" %tmp%') DO ECHO %%T >%TMP2%  
SET /P PINGTIME=< %TMP2% 

ECHO %PINGTIME:~5,-3%

Danke für den Denkanstoß
Pollekowski
H41mSh1C0R
H41mSh1C0R 28.10.2009 um 14:17:57 Uhr
Goto Top
bitte bitte und danke für die batch für die Allgemeinheit =) So machen die Threads Spaß, wenn hierbei auch was rumkommt. So wird auch später denen geholfen die es schaffen die SUFU zu benutzen =).