Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch variable mit findstr analysieren

Frage Entwicklung Batch & Shell

Mitglied: qm1qm1

qm1qm1 (Level 1) - Jetzt verbinden

23.09.2011, aktualisiert 24.09.2011, 8850 Aufrufe, 13 Kommentare

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 ?
Mitglied: Skyemugen
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"?
01.
echo %rend% |findstr "SP4" && do (....)
greetz André

edit:

oder noch kürzer

01.
for /f "tokens=2 delims==" %%i in ('find /i "renderer=" ^< "c:\file.cfg" ^|findstr "SP4"') do (
Bitte warten ..
Mitglied: qm1qm1
23.09.2011 um 17:38 Uhr
mmt ....
Bitte warten ..
Mitglied: Biber
24.09.2011 um 16:23 Uhr
Moin qm1qm1,

willkommen im Forum.

Zitat von qm1qm1:
mmt ....
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.
Bitte warten ..
Mitglied: bastla
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]
Bitte warten ..
Mitglied: qm1qm1
24.09.2011 um 18:22 Uhr
mmt heist moment und bedeutet ich teste es mal ... montag
Bitte warten ..
Mitglied: Biber
24.09.2011 um 20:28 Uhr
Öhhm, qm1qm1,

Zitat von qm1qm1:
mmt heist moment und bedeutet ich teste es mal ... montag
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..
Bitte warten ..
Mitglied: qm1qm1
24.09.2011 um 20:42 Uhr
? raff ich den witz nicht ? Telekom skype joggen ?
Bitte warten ..
Mitglied: Biber
24.09.2011 um 22:02 Uhr
Zitat von qm1qm1:
? raff ich den witz nicht ? Telekom skype joggen ?
*seufz*
Lass die Pointe einfach langsam an dich heran einen mmt.... es teste es montag.
Bitte warten ..
Mitglied: 60730
24.09.2011 um 22:16 Uhr
Zitat von Biber:
Zitat von qm1qm1:
? raff ich den witz nicht ? Telekom skype joggen ?
*seufz*

Montag mal testen...


Ps:
01.
if not "Biber"=="joking" if not "joking"=="jogging" if not "Skyemugen"=="Skype" do echo MerdeMerdeTragiques
Und sei mir nicht böse, aber etwas mehr Fantsasie wäre nicht nur bei der Nicknamenswahl angebracht.

Gruß und besser dich, wir sind eigentlich normal...
Bitte warten ..
Mitglied: qm1qm1
25.09.2011 um 12:24 Uhr
edit

nach dem posten kommen mir neue ideen das zu lösen

mal testen ob es klappt...


seltsam das man %rend% nicht direkt per findstr bearbeiten kann
es muss über den umweg echo geschehen.. naja
Bitte warten ..
Mitglied: Biber
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
01.
>set rend 
02.
rend=Vray V_Ray_Adv_1_50_SP4
... und du wissen willst, ob die letzten 3 Zeichen nun "SP4" lauten:
>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
Bitte warten ..
Mitglied: qm1qm1
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
Bitte warten ..
Mitglied: Biber
25.09.2011 um 14:57 Uhr
Moin qm1qm1,

Zitat von qm1qm1:
ein einfacher wildcard support ist ja zuviel verlangt ....
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
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batch variable DOS-Funktion von "größer" und "kleiner" Zeichen unterdrücken (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable auf 5 Zeichen begrenzen (5)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...