damien60313
Goto Top

Wie kann ich eine Zeile aus hunderten .rtf datein zusammenfassen?

Guten Tag liebe leutz,

ich brauche eure Hilfe. Ich stehe nämlich vor folgendem Problem:
Ich habe hunderte .rtf Datein. Aus diesen Datein möchte ich einen Wert dokumentieren.
Als Ergebniss möchte ich also eine Datei in der hundert Werte vermerkt sind.

Die Werte stehen in jeder dieser *.rtf Datei hinter einem bestimmten Wort (zb. Tag).
Zum Beispiel könnte die erste(aus hundert) rtf Datei diesen Inhalt haben
bla
bla
Tag-1
bla

Der Ordner der diese .rtf Datein beinhaltet, hat den Pfad C:\Ordner

Wenn ich meine Ergebniss Datein nun öffne soll da stehen:
1
2
3
...
100

Ich habe keinerlei Erfahrung mit jeglicher Programmsprachen.

Jede Hilfe könnte hilfreich sein.

Danke

Content-Key: 280718

Url: https://administrator.de/contentid/280718

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: TlBERlUS
TlBERlUS 20.08.2015 aktualisiert um 14:02:09 Uhr
Goto Top
Hi,

heißt, du hast eine Zeile in der gesamten rtf-Datei, die einen numerischen Wert enthält?
Bzw. wie bestimmst du, welche Zeile zusammengefasst werden soll?
Jede Hilfe könnte hilfreich sein
Das ist mit Hilfen meistens der Fall face-smile

Grüße,

Tiberius
Mitglied: 122990
122990 20.08.2015 aktualisiert um 14:31:25 Uhr
Goto Top
Moin,
z.B. mit Powershell kein Thema ..
$quelle = 'C:\Ordner'  
$ausgabedatei = 'C:\ergebnis.txt'  
gci $quelle -Filter '*.rtf' | ?{(gc $_.FullName | out-string) -match 'Tag.*?(\d+)'} | %{$matches[1]} | Set-Content $ausgabedatei  
Zum Thema Powershell Skripte ausführen, bitte hier zuerst lesen:
https://www.windowspro.de/andreas-kroschel/powershell-scripts-ausfuehren

Gruß grexit
Mitglied: damien60313
damien60313 20.08.2015 um 14:25:11 Uhr
Goto Top
Erstmal danke für die schnelle Rückmeldung

Fast!

in dieser Zeile steht:
tag: 1

Also steht in der (von ings 1000 Zeilen) Zeile ein Wort (hier Tag) UND ein Wert (hier 1 )
in den restlichen Zeilen steht das Wort ,,Tag'' NICHT drinn

Ich hoffe das macht so Sinn

Gruß
Damien
Mitglied: 122990
122990 20.08.2015 um 14:30:15 Uhr
Goto Top
Ist oben angepasst ...
Mitglied: damien60313
damien60313 20.08.2015 um 15:07:51 Uhr
Goto Top
heißt das,
ohne admi Ausführung geht das nicht?
Mitglied: TlBERlUS
TlBERlUS 20.08.2015 um 15:13:57 Uhr
Goto Top
Sofern die AUsführung von Skripten auf dem PC nicht erlaubt ist, muss dies einmalig von einem Admin durchgeführt werden.
Ich bin mir sicher, dass deine Admins dafür Verständnis hätten . Alternativ könntest du das Skript auch in die Konsole eingeben, dann sollte das auch gehen.
Mitglied: damien60313
damien60313 20.08.2015 um 15:44:14 Uhr
Goto Top
Erst mal Danke TIBERIUS und grexit

In die Konsole? ich habe PowerShell geöffnet (vorerst ohne Adminrechte) und den Ausdruck von ,,grexit''

PS C:\Users\damien> $quelle = 'C:\Ordner'
[und den Rest]

übernommen(mit dem richtigen Pfad).
dann Enter gedrückt und nichts ist passiert...

Mache ich da was falsch?

Gruß
Damien
Mitglied: 122990
122990 20.08.2015 aktualisiert um 16:49:44 Uhr
Goto Top
Also,
ausnahmsweise, weil du anscheinend Google nicht bedienen kannst, nochmal ...
Powershell-Konsole öffnen(powershell.exe) und folgenden Einzeiler dort hineinpasten die Pfad für den Quellordner und den Pfad zur Ausgabedatei am Ende anpassen !
gci 'C:\Ordner' -Filter '*.rtf' | ?{(gc $_.FullName | out-string) -match 'Tag.*?(\d+)'} | %{$matches[1]} | Set-Content 'C:\ausgabedatei.txt'
Die Deklaration der Variablen habe ich jetzt extra weggelassen damit du es als Einzeiler in die Shell pasten kannst. (Der Befehl durchsucht alle Dateien mit der Endung *.rtf des angegebenen Ordners (in der jetzigen Einstellung ohne eventuelle Unterordner)

Dann brauchst du auch keine Adminrechte zum freischalten der Executionpolicy. Aber selbst die lässt sich umgehen wenn es nicht durch den Admin verhindert wurde.

Zur Info: Es wird nichts auf der Konsole ausgegeben, alles was du finden willst landet ja in der Ausgabedatei, so wie du es haben willst.

Läuft hier nach deinen Angaben einwandfrei, ansonsten hast du uns nicht alles über deine Dateien verraten. In dem Fall ein zwei von diesen Dateien zum Download zur Verfügung stellen. Dann kann man dir besser helfen.

Gruß grexit
Mitglied: damien60313
damien60313 26.08.2015 um 10:40:34 Uhr
Goto Top
Hi liebe Leutz

Ich würde es gerne mit einem Marko machen (excel). Ich hab mal 2 Datein zum download freigegeben, hoffe es macht die Sache klarer.

Link:
https://onedrive.live.com/redir?resid=948DD788BD72D23D!1681&authkey= ...

Nochmal: ich würde gerne aus den Dateien die Werte 80 und 81,01 in eine andere(excel datein wäre gut) Datei einfügen. Die Werte sind gegeben durch das Wort ,,Tag"

Großen dank schonmal im Vorraus

Gruß
Damien
Mitglied: 122990
122990 26.08.2015 aktualisiert um 16:24:50 Uhr
Goto Top
Nun ja das hättest du auch gleich posten können, denn deine Files spiegeln nun mal überhaupt nicht das wieder was du hier gepostet hast !! Du hast nämlich deine Zeilen so gepostet:
bla
bla
Tag-1
bla
d.h. man denkt das die Daten immer am Zeilenanfang stehen, und das ist ja bei deinem File ganz und garnicht so , das ist ja vollkommen kryptisch:
Sdasfasdfsdfsdb
Asdfasdfsagsdfs
Asdgasgasdfgab
0x40003EE4;;                                                   TAG;=; 80.00000         ;%        ;;;
B23432315bjbn
Hier hat also Präzision gefehlt !! Kein wunder das es nicht funktioniert hat ... zusätzlich sind die RTF-Dateien keine richtigen RTF-Dateien sondern im binären Word-RTF-Format was ebenfalls an Info gefehlt hat.

Für ein Makro (VBA) kannst du mich gerne kontaktieren, kostenlos ist das jedoch nicht.

Gruß grexit
Mitglied: damien60313
damien60313 28.08.2015 um 15:24:04 Uhr
Goto Top
Hi
könnte mich klarer Ausdrücken. mein Fehler.

Das mit dem Suchen und Rauskopieren hab ich inzwischen geschaft. Jetzt noch die Frage!

Wie kann ich denn in einem Dokument nach 2! Signalwörter suchen? Sprich falls es das Wort "Tag" nicht gibt, finde mir "Nacht"??

Dankeschöön
Damien