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 ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173615
Url: https://administrator.de/contentid/173615
Ausgedruckt am: 17.11.2024 um 02:11 Uhr
13 Kommentare
Neuester Kommentar
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.
Ö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..
*seufz*
Lass die Pointe einfach langsam an dich heran einen mmt.... es teste es montag.
Lass die Pointe einfach langsam an dich heran einen mmt.... es teste es montag.
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. 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
>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" ...
Mussu mal trübergucken. ,-)
Biber
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