larryhh
Goto Top

Script zum Auslesen von TXT Dateien

Hallo Freunde des IT's,

ich habe ein kleines Problem!
Ich muss für die Arbeit ein Script erstellen, weiß aber nicht genau, wie ich da vor gehen muss!

Folgender Sachverhalt:

Ich habe meine Menge TXT-Dateien!
Das Scipt soll diese Dateien öffnen, den Inhalt kopieren und die Daten in eine neuen Datei speichern!
Die neue Datei soll dann quasi den Inhalt aller Dateien zusammengefallst anzeigen!

Könnt ihr mir helfen?

Content-ID: 49489

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

Ausgedruckt am: 26.11.2024 um 12:11 Uhr

miniversum
miniversum 22.01.2007 um 12:27:35 Uhr
Goto Top
Welche Sprache?

In Batch geht das z.B. folgendermasen:
Angenommen deine *.txt Dateien liegen in D:\txt und deine Zusammengefasste Datei soll in D: erstell werden dann kannst du das mit

txpe D:\txt\*.txt>D:\Zusammenfassung.txt

machen.
Dabei ist zu beachten das wenn die Datei inder die Zusammenfassung steht im Selben Verzeichniss liegt wie die *.txt Dateien und diese Datei auch die Endung *.txt hat, wird sie in sich selbst mit hinzugefügt, wodurch dann die Inhalte doppelt auftauchen können.

Willst du das auch vermeiden, Oder eine Bestimmte Reihenfolge vorgeben, dann kannst du das ganze über eine For-Schleife machen.

miniversum
LarryHH
LarryHH 22.01.2007 um 12:41:43 Uhr
Goto Top
Danke erstmal schon für deine schnelle Antwort!
Ich will das Script einfach in einer Wordpad-datei erstellen und dann als "*.vbs" speichern!
In den einzelnden TXT-Dateien, könnne eigentlich keine Daten doppelt sein, wenn doch, dann sollen die ruhig mit aufgelistet werden!
miniversum
miniversum 22.01.2007 um 12:47:31 Uhr
Goto Top
Also wa sich gepostet habe wäre eine .bat Datei.
Wordpad würde ich dafür nicht verwenden sondern eher den Editor (nodepad).

Wie das in vbs geht weiß ich nicht so auf die schnelle, da ichncith wirklich so der vbs-Held bin.

miniversum
bastla
bastla 22.01.2007 um 12:52:09 Uhr
Goto Top
Hallo LarryHH!

Sowohl miniversum's Minimalversion als auch die folgende Variante mit etwas Formatierung für das Ergebnis sind Batch-"Scripts" und benötigen daher den Dateityp ".bat" oder ".cmd" (wobei Du die eine Zeile von miniversum auch direkt in die Kommandozeile eingeben kannst).

Ausgabe mit Dateinamen:
@echo off
set Zusammen=D:\Zusammenfassung.txt
del %Zusammen% 2>nul
for %%i in (D:\Texte\*.txt) do (
	echo ------------------ >> %Zusammen%
	echo %%i >> %Zusammen%
	echo ------------------ >> %Zusammen%
	type "%%i" >> %Zusammen%  
	echo. >> %Zusammen%
	echo. >> %Zusammen%
)

Grüße
bastla

[Edit] @miniversum - Sorry, hatte es auch gerade in Arbeit ... [/Edit]
LarryHH
LarryHH 22.01.2007 um 12:53:43 Uhr
Goto Top
Sorry ich meinte natürlich Notepad! naja gut aber trotzdem schönen Dank für deine Bemühungen! Ich hoffe, dass noch jemand mein Problem versteht und mir vielleicht hilft!
bastla
bastla 22.01.2007 um 12:57:05 Uhr
Goto Top
Hallo LarryHH!

Warum sollte es denn VBS sein? Obwohl ich das sehr gern verwende, würde ich für diese Aufgabenstellung (wie Du schon gesehen haben wirst) auch Batch einsetzen.

Grüße
bastla
miniversum
miniversum 22.01.2007 um 12:59:42 Uhr
Goto Top
Macht ja nix. Hab auch überlegt noch die For-Schleifen-Version zu posten. Die Minimallösung war halt mal der erste Ansatz ohne genaueres zu wissen.

miniversum
geTuemII
geTuemII 22.01.2007 um 13:08:41 Uhr
Goto Top
@miniversum:
txpe D:\txt\*.txt>D:\Zusammenfassung.txt
Ich persönlich würde es eher mit:

type D:\txt\*.txt>>D:\Zusammenfassung.txt

versuchen...

Meinjanur, geTuemII ;)
LarryHH
LarryHH 22.01.2007 um 13:44:08 Uhr
Goto Top
Hey Leute super Vorschlag!
Danke, das hat hammer mäßig funktioniert!

Schönen Dank!
bastla
bastla 22.01.2007 um 13:59:11 Uhr
Goto Top
@geTuemII

>>

War auch mein erster Reflex, ist aber nicht nur nicht nötig (durch die Verwendung der Wildcards wird praktisch nur eine Ausgabe erzeugt), sondern sogar weniger günstig bei mehrmaliger Verwendung, da dann die "Zusammenfassung.txt" vorweg gelöscht werden müsste.

Grüße
bastla
geTuemII
geTuemII 22.01.2007 um 14:01:30 Uhr
Goto Top
daß das eleganter geht, war eh von vornherein klar. Besonders hybsch fand ich allerdings txpe <grinz>

geTuemII
miniversum
miniversum 22.01.2007 um 15:58:04 Uhr
Goto Top
ups.. Type natürlich klar. Mein Fehler.
Naja ganz elegant wärs dann so ;) :

Copy *.txt Zusammenfassung.txt

Oder?

miniversum
geTuemII
geTuemII 22.01.2007 um 17:16:17 Uhr
Goto Top
[Eleganz]
Copy *.txt Zusammenfassung.txt
Oder?

Ähh .... Ja! ..... Nein! ..... <schudder>
Du bist so böse!

<grinz> geTuemII
miniversum
miniversum 22.01.2007 um 18:56:47 Uhr
Goto Top
Iiiich? Bööse? Niiiee. face-smile
Hab doch garnix gemacht.

miniversum