Batch variable mit findstr analysieren
hallo
ich lese aus einer txt eine variable aus
for /f "tokens=2 delims==" %%i in ('find /i "renderer=" ^< "c:\file.cfg"') do (set rend=%%i)
ich erhalte
Vray V_Ray_Adv_1_50_SP4
ich arbeite mit dieser variable in einer if else fkt.
if /i %rend% equ "Vray V_Ray_Adv_1_50_SP4" do (....
soweit so gut aber leider ist die variable zu komplex um jede denkbare kombination per equ oder == abzufragen
der einfachste weg wäre
if /i %rend% INCLUDE STRING "SP4" do (....
oder
if /i %rend% equ "*SP4" do (....
ich habe versucht die variable in eine temp.txt zu legen und dann mit findstr zu arbeiten aber
der zu suchende string kann an jeder position sein .. anfang mitte überall
ich kann also nicht "findstr /b" .. nutzen
die länge der variable ist ebenfalls nicht fix
findstr "...........SP4" würde auch nicht klappen
weis irgendwer rat ?
ich lese aus einer txt eine variable aus
for /f "tokens=2 delims==" %%i in ('find /i "renderer=" ^< "c:\file.cfg"') do (set rend=%%i)
ich erhalte
Vray V_Ray_Adv_1_50_SP4
ich arbeite mit dieser variable in einer if else fkt.
if /i %rend% equ "Vray V_Ray_Adv_1_50_SP4" do (....
soweit so gut aber leider ist die variable zu komplex um jede denkbare kombination per equ oder == abzufragen
der einfachste weg wäre
if /i %rend% INCLUDE STRING "SP4" do (....
oder
if /i %rend% equ "*SP4" do (....
ich habe versucht die variable in eine temp.txt zu legen und dann mit findstr zu arbeiten aber
der zu suchende string kann an jeder position sein .. anfang mitte überall
ich kann also nicht "findstr /b" .. nutzen
die länge der variable ist ebenfalls nicht fix
findstr "...........SP4" würde auch nicht klappen
weis irgendwer rat ?
13 Antworten
- LÖSUNG Skyemugen schreibt am 23.09.2011 um 17:24:27 Uhr
- LÖSUNG qm1qm1 schreibt am 23.09.2011 um 17:38:12 Uhr
- LÖSUNG Biber schreibt am 24.09.2011 um 16:23:12 Uhr
- LÖSUNG bastla schreibt am 24.09.2011 um 18:17:46 Uhr
- LÖSUNG qm1qm1 schreibt am 24.09.2011 um 18:22:59 Uhr
- LÖSUNG Biber schreibt am 24.09.2011 um 20:28:54 Uhr
- LÖSUNG qm1qm1 schreibt am 24.09.2011 um 20:42:57 Uhr
- LÖSUNG Biber schreibt am 24.09.2011 um 22:02:20 Uhr
- LÖSUNG 60730 schreibt am 24.09.2011 um 22:16:33 Uhr
- LÖSUNG Biber schreibt am 24.09.2011 um 22:02:20 Uhr
- LÖSUNG qm1qm1 schreibt am 24.09.2011 um 20:42:57 Uhr
- LÖSUNG Biber schreibt am 24.09.2011 um 20:28:54 Uhr
- LÖSUNG qm1qm1 schreibt am 24.09.2011 um 18:22:59 Uhr
- LÖSUNG bastla schreibt am 24.09.2011 um 18:17:46 Uhr
- LÖSUNG Biber schreibt am 24.09.2011 um 16:23:12 Uhr
- LÖSUNG qm1qm1 schreibt am 25.09.2011 um 12:24:52 Uhr
- LÖSUNG Biber schreibt am 25.09.2011 um 13:56:48 Uhr
- LÖSUNG qm1qm1 schreibt am 25.09.2011 um 14:32:13 Uhr
- LÖSUNG Biber schreibt am 25.09.2011 um 14:57:17 Uhr
- LÖSUNG qm1qm1 schreibt am 25.09.2011 um 14:32:13 Uhr
- LÖSUNG Biber schreibt am 25.09.2011 um 13:56:48 Uhr
- LÖSUNG qm1qm1 schreibt am 23.09.2011 um 17:38:12 Uhr
LÖSUNG 23.09.2011 um 17:24 Uhr
Aloha,
ich versteh's nicht, wenn du nur prüfen willst, ob SP4 vorkommt, warum arbeitest du dann nicht einfach mit findstr "SP4"?
greetz André
edit:
oder noch kürzer
ich versteh's nicht, wenn du nur prüfen willst, ob SP4 vorkommt, warum arbeitest du dann nicht einfach mit findstr "SP4"?
echo %rend% |findstr "SP4" && do (....)
edit:
oder noch kürzer
for /f "tokens=2 delims==" %%i in ('find /i "renderer=" ^< "c:\file.cfg" ^|findstr "SP4"') do (
LÖSUNG 24.09.2011 um 16:23 Uhr
Moin qm1qm1,
willkommen im Forum.
Ich bin mir nicht sicher, ob dieses sicherlich zum Allgemeingut der Generation Facebook gehörende Akronym nun "mussich mal testen" oder "macht mich traurig" oder "many many thanks" oder "mach meinen Tag" bedeutet.
Könntest du zur abschliessenden Klarstellung bitte entweder einen götterspeisefarbenden Haken an den Beitrag setzen, falls die Antwort geholfen hat oder aber rückfragen, falls das Problem noch offen ist?
Danke
Biber
P.S. Ich habe den Beitrag verschoben nach "Batch & Shell", weil..... "Ich habe ein Problem mit Windows".... na ja, deswegen braucht niemand Beiträge erstellen.
willkommen im Forum.
Ich bin mir nicht sicher, ob dieses sicherlich zum Allgemeingut der Generation Facebook gehörende Akronym nun "mussich mal testen" oder "macht mich traurig" oder "many many thanks" oder "mach meinen Tag" bedeutet.
Könntest du zur abschliessenden Klarstellung bitte entweder einen götterspeisefarbenden Haken an den Beitrag setzen, falls die Antwort geholfen hat oder aber rückfragen, falls das Problem noch offen ist?
Danke
Biber
P.S. Ich habe den Beitrag verschoben nach "Batch & Shell", weil..... "Ich habe ein Problem mit Windows".... na ja, deswegen braucht niemand Beiträge erstellen.
LÖSUNG 24.09.2011 um 18:17 Uhr
[OT]@Biber
Als Angehöriger des aussterbenden Stammes der Optimisten hätte ich ja "makes me think" gelesen ...
Grüße
bastla
[/OT]
Als Angehöriger des aussterbenden Stammes der Optimisten hätte ich ja "makes me think" gelesen ...
Grüße
bastla
[/OT]
LÖSUNG 24.09.2011 um 20:28 Uhr
Öhhm, qm1qm1,
Ich fasse noch mal zusammen - du schreibst am Donnerstag
???!?
Ich sach ma so
Muss Memo triggern: Montag morgen tracken
Biber
@bastla: Du bist ja immer Optimist - aber stell dir mal vor: so einer wird später dein ZiVi - und du drückst donnerstags auf''s Rufknöpfchen..
Ich fasse noch mal zusammen - du schreibst am Donnerstag
"ich werde die eine Zeile wohlwollend begutachten und werde mit dem Copy&Pasten eventuell Anfang nächster Woche erste Erfolge erzielen"
???!?
Ich sach ma so
- Du kannst SOFORT bei SAP oder der Telekom anfangen als Qualitatätsmanager
- wenn Skye deine Adresse zugespielt bekommen sollte, dann werdet ihr eventuell am Wochenende gemeinsam joggen - du vorweg
- mmt... meide möglichst Tranquilizer
Muss Memo triggern: Montag morgen tracken
Biber
@bastla: Du bist ja immer Optimist - aber stell dir mal vor: so einer wird später dein ZiVi - und du drückst donnerstags auf''s Rufknöpfchen..
LÖSUNG 24.09.2011 um 22:02 Uhr
LÖSUNG 24.09.2011 um 22:16 Uhr
LÖSUNG 25.09.2011 um 12:24 Uhr
LÖSUNG 25.09.2011 um 13:56 Uhr
Moin qm1qm1,
der vermeintliche Umweg der Findstr-Umgebungsvariablen-Auswertung ist dadurch begründet, dass FindStr eigentlich ein Utility zur Durchsuchung von Dateien -oder genauer geöffneten Filehandles - ist.
Mit "echo %rend% und der Pipe-Anweisung "|" wird formal ein geöffnetes Handle, also quasi eine virtuell vorhandene Datei übergeben.
Mutet strange an? Ja hey! Unter Windows musst du den "Start"-Button drücken, wenn du den Rechner herunterfahren willst.
Go figure.
Falls dir dieses Gezwirbele zu wenig nachvollziehbar oder zu unleserlich wirkt, dann gehe doch über den direkten Variablenvergleich.
Wenn denn in der Variablen %rend% schon ein Wert wie "Vray V_Ray_Adv_1_50_SP4" steht
... und du wissen willst, ob die letzten 3 Zeichen nun "SP4" lauten:
Mussu mal trübergucken. ,-)
Biber
der vermeintliche Umweg der Findstr-Umgebungsvariablen-Auswertung ist dadurch begründet, dass FindStr eigentlich ein Utility zur Durchsuchung von Dateien -oder genauer geöffneten Filehandles - ist.
Mit "echo %rend% und der Pipe-Anweisung "|" wird formal ein geöffnetes Handle, also quasi eine virtuell vorhandene Datei übergeben.
Mutet strange an? Ja hey! Unter Windows musst du den "Start"-Button drücken, wenn du den Rechner herunterfahren willst.
Falls dir dieses Gezwirbele zu wenig nachvollziehbar oder zu unleserlich wirkt, dann gehe doch über den direkten Variablenvergleich.
Wenn denn in der Variablen %rend% schon ein Wert wie "Vray V_Ray_Adv_1_50_SP4" steht
>set rend
rend=Vray V_Ray_Adv_1_50_SP4
>echo "%rend:~-3%"
"SP4"
>echo [im direkten IF-Vergleich] IF "%rend:~-3%"=="SP4" ... oder IF "%rend:~-3%" EQU "SP4" ...
[im direkten IF-Vergleich] IF "SP4"=="SP4" ... oder IF "SP4" EQU "SP4" ...
Biber
LÖSUNG 25.09.2011 um 14:32 Uhr
das problem ist ja das sp4 an jeder stelle der variable stehen kann
mitte anfange ende - die länge der var. ist auch variable
ein einfacher wildcard support ist ja zuviel verlangt ....
das mit dem echo und find wird schon klappen - da ist mir aber das wochenede zu schade für um das einzuarbeiten
frage nebenbei
wird beim einsatz von | schrit für schritt abgearbeitet oder wird die ganze zeile "als eins "behandelt ?
ps
da keine 3 buchstaben bei username erlaubt sind verdoppel ich
mitte anfange ende - die länge der var. ist auch variable
ein einfacher wildcard support ist ja zuviel verlangt ....
das mit dem echo und find wird schon klappen - da ist mir aber das wochenede zu schade für um das einzuarbeiten
frage nebenbei
wird beim einsatz von | schrit für schritt abgearbeitet oder wird die ganze zeile "als eins "behandelt ?
ps
da keine 3 buchstaben bei username erlaubt sind verdoppel ich
LÖSUNG 25.09.2011 um 14:57 Uhr
Moin qm1qm1,
Stimmt. Der Erfolg von Windows ist ausschliesslich in genialem Marketing begründet, nicht in der Produktqualität.
Genauer geschrieben: Letzteres.
Grüße
Biber
Stimmt. Der Erfolg von Windows ist ausschliesslich in genialem Marketing begründet, nicht in der Produktqualität.
frage nebenbei
Eine der Formulierungen, um sich im Bereich "Batch & Shell" neue Freunde zu verschaffen...wird beim einsatz von | schrit für schritt abgearbeitet oder wird die ganze zeile "als eins "behandelt ?
Natürlich! Auf jeden Fall.Genauer geschrieben: Letzteres.
da keine 3 buchstaben bei username erlaubt sind verdoppel ich
Nicht mal ich hätte einen Sprachfehler unterstellt.Grüße
Biber