Mit Batchdatei in Textdatei nach Wort suchen und Wortgruppe dahinter in eine andere Textdatei kopieren
@ the mods :P
Habe mich vorhin wohl verklickt - bitte diesen Beitrag zu den Fragen verschieben!
Vielen Danke
Guten Tag liebe Programmierfreunde,
ich habe eine kleines Anliegen, dass sicherlich mit Hilfe einer Batchdatei aus der Welt geschaffen werden könnte..
Ich habe eine Textdatei in welcher Informationen über Software und Hardware verschiedener Rechner aufgelistet sind.
Allerdings enthält die Datei zu viel unbrauchbare Informationen..
Bevor ich die benötigten Daten nun per Hand aus der Datei heraus schreibe, wollte ich wissen, ob es mittels einer Batchdatei möglich ist:
ein bestimmtes Schlagwort oder Wortgruppe suchen zu lassen und das dahinter stehende Wort zu kopieren und in eine andere Textdatei zu speicher.
Man kann sich das so vorstellen:
In der Datei rechnerliste.txt sind beispielsweise folgende Informationen:
Computername: Rechner1
Betriebssystem: Windows XP Home
Arbeitsspeicher: 1024 MB
Grafikkarte: Intel(R) 82945G Express Chipset Family (224 MB)
Monitor: Dell 1905FP (Digital) [NoDB]
Computername: Rechner2
Betriebssystem: Windows Professional
Arbeitsspeicher: 2048MB
Grafikkarte: Ge-force FX 5200
Monitor: Dell 2000FP (Digital)
Computername: Rechner3
Betriebssystem: Windows XP Professional
Arbeitsspeicher: 1024 MB
Grafikkarte: RADEON X300 SE 128MB
Monitor: Dell 1905FP (Digital)
usw..
Ich suche nach den Schlagwörtern "Computername: ", "Arbeitsspeicher: " und "Grafikkarte: " und in der neuen Textdatei sollen dann folgende Informationen zu jedem Rechner stehen:
Rechner1
1024MB
Intel(R) 82945G Express Chipset Family (224 MB)
Rechner2
2048MB
Ge-force FX 5200
Rechner3
1024 MB
RADEON X300 SE 128MB
usw..
Ich hoffe, das war einigermaßen verständlich erklärt.
Ich habe schon einige versuche mit "findstr" gestartet, hatte aber bisher nicht so wirklichen Erfolg
Wenn noch Unklarheiten vorhanden sind, scheut euch nicht mich zu fragen .
Ich freue mich auf eure Antworten und verbleibe mit besten Grüßen.
e-luke
Habe mich vorhin wohl verklickt - bitte diesen Beitrag zu den Fragen verschieben!
Vielen Danke
Guten Tag liebe Programmierfreunde,
ich habe eine kleines Anliegen, dass sicherlich mit Hilfe einer Batchdatei aus der Welt geschaffen werden könnte..
Ich habe eine Textdatei in welcher Informationen über Software und Hardware verschiedener Rechner aufgelistet sind.
Allerdings enthält die Datei zu viel unbrauchbare Informationen..
Bevor ich die benötigten Daten nun per Hand aus der Datei heraus schreibe, wollte ich wissen, ob es mittels einer Batchdatei möglich ist:
ein bestimmtes Schlagwort oder Wortgruppe suchen zu lassen und das dahinter stehende Wort zu kopieren und in eine andere Textdatei zu speicher.
Man kann sich das so vorstellen:
In der Datei rechnerliste.txt sind beispielsweise folgende Informationen:
Computername: Rechner1
Betriebssystem: Windows XP Home
Arbeitsspeicher: 1024 MB
Grafikkarte: Intel(R) 82945G Express Chipset Family (224 MB)
Monitor: Dell 1905FP (Digital) [NoDB]
Computername: Rechner2
Betriebssystem: Windows Professional
Arbeitsspeicher: 2048MB
Grafikkarte: Ge-force FX 5200
Monitor: Dell 2000FP (Digital)
Computername: Rechner3
Betriebssystem: Windows XP Professional
Arbeitsspeicher: 1024 MB
Grafikkarte: RADEON X300 SE 128MB
Monitor: Dell 1905FP (Digital)
usw..
Ich suche nach den Schlagwörtern "Computername: ", "Arbeitsspeicher: " und "Grafikkarte: " und in der neuen Textdatei sollen dann folgende Informationen zu jedem Rechner stehen:
Rechner1
1024MB
Intel(R) 82945G Express Chipset Family (224 MB)
Rechner2
2048MB
Ge-force FX 5200
Rechner3
1024 MB
RADEON X300 SE 128MB
usw..
Ich hoffe, das war einigermaßen verständlich erklärt.
Ich habe schon einige versuche mit "findstr" gestartet, hatte aber bisher nicht so wirklichen Erfolg
Wenn noch Unklarheiten vorhanden sind, scheut euch nicht mich zu fragen .
Ich freue mich auf eure Antworten und verbleibe mit besten Grüßen.
e-luke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 114082
Url: https://administrator.de/contentid/114082
Ausgedruckt am: 21.11.2024 um 20:11 Uhr
8 Kommentare
Neuester Kommentar
Servus,
wenn mit Findstr - dann mit parameter /v die ausfiltern - die du nicht haben willst.
Aber ehrlicherweise "gefällt" mir die Anordnung "untereinander" nicht - und deswegen "zimmere" ich dir das auch nicht aus
Nimm doch eine Tabelle, macht irgendwie mehr Sinn.
Gruß
wenn mit Findstr - dann mit parameter /v die ausfiltern - die du nicht haben willst.
Aber ehrlicherweise "gefällt" mir die Anordnung "untereinander" nicht - und deswegen "zimmere" ich dir das auch nicht aus
Nimm doch eine Tabelle, macht irgendwie mehr Sinn.
Gruß
Zitat von @Elektroluke:
Hallo Timo,
vielleicht habe ich da etwas falsch verstanden bei deinem Tool.
So wie ich das jetzt aufgefasst habe, kann ich damit direkt
Informationen von allen Rechnern im Netzwerk einholen und in eine
Datenbank oder Tabelle schreiben lassen - richtig?
Hallo Timo,
vielleicht habe ich da etwas falsch verstanden bei deinem Tool.
So wie ich das jetzt aufgefasst habe, kann ich damit direkt
Informationen von allen Rechnern im Netzwerk einholen und in eine
Datenbank oder Tabelle schreiben lassen - richtig?
Es ist nicht "mein" Tool - sondern das von Mark Russinovich - aber Ja
Meine Textdatei ist aber bereits mit allen nötigen Informationen
ausgestatten (Auch Informationen, die ein Tool, wahrscheinlich nicht
auslesen kann, wie z.B. Raum- und Etagennnummer, in der der Rechner
sich befindet.
Naja - ich nutze "das" auch nicht alleine -sondern benutze verknüpfte (statische) Tabellen
Die findstr mit dem Paramater V scheint mir auch schon fast etwas
unpassend für mein Vorhaben, da es am Ende sehr viel gibt, was
nciht mir aufgelistet werden soll.
Aber es scheint mir noch besser, als jeden einzelnen Beitrag durch zu
schauen, un per Hand zu entfernen
schauen, un per Hand zu entfernen
Und wenn "tatsächlich" nur das, was hinter ":" steht gebraucht wird- dann danach (ungetestet)
@for /f "tokens=2,* delims=: " %%i in ('findstr ":" logfile.log') do echo %%i>>neueslogfile.log
hinterwerfen....
Hallo Elektroluke und TimoBeil!
Ich würde ebenfalls zu "findstr" greifen, aber zunächst noch eine "infoliste.txt" mit dem folgenden Inhalt erstellen:
Dann würde sich das Filtern auf
beschränken ...
Grüße
bastla
Ich würde ebenfalls zu "findstr" greifen, aber zunächst noch eine "infoliste.txt" mit dem folgenden Inhalt erstellen:
Computername:
Arbeitsspeicher:
Grafikkarte:
for /f "tokens=1* delims=:" %i in ('findstr /b /g:infoliste.txt rechnerliste.txt') do echo %j>>rechnerinfos.txt
Grüße
bastla
Zitat von @Elektroluke:
Vielleicht habt ihr dazu ja auch spontan eine Antwort, während ich Herrn Google befrage
Vielleicht habt ihr dazu ja auch spontan eine Antwort, während ich Herrn Google befrage
Servus,
machs mal "gleich" so - wie Herr Bastla schreibt - denn wenn du Frau Google fragst - verbindet die dich eh mit Herrn Bastla
Gruß