Wort aus Datei herausfiltern von Zeichen x bis y
Hallo,
ich würde gerne ein Wort aus einer Textdatei herausfiltern und als Variable weiter benutzen.
Die datei enthälter unter anderen folgendes
<option selected="selected">MEIN TEXT</option>
Und MEIN TEXT würde ich gerne weiterbenutzen.
Meine Frage ist ob das machbar ist und wenn ja, wie?
Vielen Dank für's lesen. und evtl. antworten
ich würde gerne ein Wort aus einer Textdatei herausfiltern und als Variable weiter benutzen.
Die datei enthälter unter anderen folgendes
<option selected="selected">MEIN TEXT</option>
Und MEIN TEXT würde ich gerne weiterbenutzen.
Meine Frage ist ob das machbar ist und wenn ja, wie?
Vielen Dank für's lesen. und evtl. antworten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115704
Url: https://administrator.de/contentid/115704
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
9 Kommentare
Neuester Kommentar
Ich habs grade bei mri ausprobiert udn hier funktioniert es
Ich habe allerdings eine datei genommen die nur diese eine zeile enthällt.
Du kannst es ja schrittweise mal direkt in der cmd testen.
Findet er die richtige Zeile wenn du das eingibst:
Den Dateinamen und Pfad musst du natürlich anpassen.
Ich habe allerdings eine datei genommen die nur diese eine zeile enthällt.
Du kannst es ja schrittweise mal direkt in der cmd testen.
Findet er die richtige Zeile wenn du das eingibst:
findstr /B /R "<option selected="selected">" "C:\Datei.txt"
Was kommt dort als Ergebnis raus?Den Dateinamen und Pfad musst du natürlich anpassen.
Versuch's mal so:
@echo off
FOR /F "tokens=3 delims=>=<" %%i in ('findstr /B /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i"
pause
Moin miniversum und blablanick (willkommen im Forum),
quält Euch doch nicht rum mit sinnlosem Rumgerate.
Solange nicht bekannt ist, wie die zu lesende Datei aussieht geht Dein Ansatz, blablanick, beispielsweise in diesem Fall in die Grütze:
... und miniversums Findstr fasst ins Leere, wenn die HTML/XML-Datei keine CRLFs enthält oder der gesuchte Tag nicht als eigene Zeile separiert ist.
Lasst doch den Thread-Copy&Paster noch 2 oder 3 Doppelpostings mehr machen, vielleicht kommt er ja mal von allein auf den Bolzen, ein paar Infos mehr zu geben.
Oder gar einen aussagefähigen Ausschnitt der Quelldatei.
BTW ungeklärte Fragen des IT-Alltags:
WTHF kann denn der Grund sein, weshalb ich außerhalb einer Applikation, die mit Tags umgehen kann wissen wollen mag, welche Option "selected" ist????
Wer außer der Appz, die das geschrieben hat und auch sicherlich lesen kann will das denn wozu auslesen??
Es geht mich ja nix an, was da zusammengeschrotet werden soll, aber kaufen würde ich es eher nicht.
Grüße
Biber
quält Euch doch nicht rum mit sinnlosem Rumgerate.
Solange nicht bekannt ist, wie die zu lesende Datei aussieht geht Dein Ansatz, blablanick, beispielsweise in diesem Fall in die Grütze:
<html>
<head><!-- PageID 3 - published by RedDot 7.5 - 7.5.1.31 - 22877 -->
<title>
....
Lasst doch den Thread-Copy&Paster noch 2 oder 3 Doppelpostings mehr machen, vielleicht kommt er ja mal von allein auf den Bolzen, ein paar Infos mehr zu geben.
Oder gar einen aussagefähigen Ausschnitt der Quelldatei.
BTW ungeklärte Fragen des IT-Alltags:
WTHF kann denn der Grund sein, weshalb ich außerhalb einer Applikation, die mit Tags umgehen kann wissen wollen mag, welche Option "selected" ist????
Wer außer der Appz, die das geschrieben hat und auch sicherlich lesen kann will das denn wozu auslesen??
Es geht mich ja nix an, was da zusammengeschrotet werden soll, aber kaufen würde ich es eher nicht.
Grüße
Biber
Solange nicht bekannt ist, wie die zu lesende Datei aussieht geht
Dein Ansatz, blablanick, beispielsweise in diesem Fall in die
Grütze:
Dein Ansatz, blablanick, beispielsweise in diesem Fall in die
Grütze:
Ach was, ich bin da flexibel.
@echo off
For /F "tokens=5 delims=>=< " %%i in ('findstr /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i"
echo %text%
pause
Wenn "MEIN TEXT" dann tatsächlich aus 2 Worten bestehen sollte, nimmt man halt
for /F "tokens=5,6 delims=>=< " %%i in ('findstr /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i %%j"
Aus der Fragestellung
Und MEIN TEXT würde ich gerne weiterbenutzen.
und dem zuvor für findstr verwendete Parameter /B geht doch imo einwandfrei hervor, was der Fragesteller möchte, also lässt sich die Frage erst einmal zutreffend beantworten.:-P
@78632
Ev noch etwas flexibler (wenn auch nur mehr mit Batch-"Hülle"), aber immer noch von der (noch fehlenden) Beschreibung des Inhaltes von "MEIN TEXT" (Stichwort "Sonderzeichen") abhängig:
Grüße
bastla
... und dem zuvor für findstr verwendete Parameter /B geht doch imo einwandfrei hervor, was der Fragesteller möchte
Wenn der Fragesteller "findstr /B" verwendet hätte ... Ev noch etwas flexibler (wenn auch nur mehr mit Batch-"Hülle"), aber immer noch von der (noch fehlenden) Beschreibung des Inhaltes von "MEIN TEXT" (Stichwort "Sonderzeichen") abhängig:
@echo off & setlocal
set "Datei=D:\Die Datei.xml"
set Suche="<option selected=""selected"">(.+)</option>"
set G=%temp%\GetValue.vbs
>%G% echo T=CreateObject("Scripting.FileSystemObject").OpenTextFile("%Datei%").ReadAll
>>%G% echo Set rE=New RegExp:rE.Global=True:rE.IgnoreCase=True:rE.Pattern=%Suche%
>>%G% echo For Each M In rE.Execute(T):WScript.Echo M.SubMatches(0):Next
for /f "delims=" %%i in ('cscript //nologo %G%') do call :ProcessValue "%%i"
goto :eof
:ProcessValue
echo Gefunden: %1
goto :eof
bastla