pleasure
Goto Top

Aus txt Dateien Texte auslesen und Absätze neu speichern

Hallo ,

ich habe hier mehrere tausend .txt Dateien in denen Texte sind.
Nun muss ich jede einzelne txt öffnen und den vorhanden Text möglichst Absatzweise in jeweils
einer eigenen neuen .txt speichern.

Wichtig wäre mir , wie man das anhand einer Datei ordentlich hinbekommt.

Beispiel:
beispiel.txt

Während die oben angeführte Definition eines Textes als „abgegrenzte schriftliche oder potentiell zu verschriftlichende Äußerung“ im Alltag meist ausreichend ist, führt eine genauere, wissenschaftliche Betrachtung zu komplexeren Definitions- und Beschreibungsversuchen.

Die Eigenschaft des „Text-Seins“ bezeichnet man als Textualität, die sprachwissenschaftliche Untersuchung von Texten ist die Textlinguistik. Diese Disziplin stellt verschiedene Textualitätskriterien zur Verfügung. Robert-Alain de Beaugrande und Wolfgang Ulrich Dressler stellten 1981 eine Reihe solcher Kriterien vor:


Ergebnis sollte sein:
beispiel1.txt
Während die oben angeführte Definition eines Textes als „abgegrenzte schriftliche oder potentiell zu verschriftlichende Äußerung“ im Alltag meist ausreichend ist, führt eine genauere, wissenschaftliche Betrachtung zu komplexeren Definitions- und Beschreibungsversuchen.

beispiel2.txt
Die Eigenschaft des „Text-Seins“ bezeichnet man als Textualität, die sprachwissenschaftliche Untersuchung von Texten ist die Textlinguistik. Diese Disziplin stellt verschiedene Textualitätskriterien zur Verfügung. Robert-Alain de Beaugrande und Wolfgang Ulrich Dressler stellten 1981 eine Reihe solcher Kriterien vor:


Die Länge Dateien ist stark unterschiedlich....
Hoffe mir kann da jemand helfen ... wäre dringend ^^

P.S. bin heute den ganzen Tag online und habe den Thread im Auge falls jemand Fragen zu der Problematik hat.

Content-Key: 108569

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

Printed on: April 25, 2024 at 20:04 o'clock

Member: bastla
bastla Feb 11, 2009 at 20:38:46 (UTC)
Goto Top
Hallo pleasure und willkommen im Forum!

Für "einfache" Texte sollte etwa folgender Batchansatz funktionieren:
@echo off & setlocal
for /f "tokens=2 delims=:." %%i in ('chcp') do set "cp=%%i"  
chcp 1252 >nul

for %%i in ("D:\Ordner\Beispiel.txt") do (  
    set "Pfad=%%~dpni"  
    set "Typ=%%~xi"  
    set /a Nr=1001
    set neu=true
    for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%%i"') do set "Zeile=%%b" & call :ProcessLine  
)

chcp %cp% >nul
goto :eof
	
:ProcessLine
::Leerzeile?
if "%Zeile%"=="" goto :Next  
set "Zeile=%Zeile:&=^&%"  
set "Zeile=%Zeile:<=^<%"  
set "Zeile=%Zeile:>=^>%"  
set "Zeile=%Zeile:|=^|%"  
>>%Pfad%%Nr:~-3%%Typ% echo %Zeile%
set neu=
goto :eof

:Next
:: Nach Leerzeile beginnt neue Datei, aber nur,
:: wenn seit der letzten Leerzeile bereits wieder
:: eine Zeile geschrieben wurde (zu erkennen daran,
:: dass %neu% nicht mehr gesetzt ist).
if defined neu goto :eof
set /a Nr+=1
set neu=true	
goto :eof
Durch eine Änderung der Zeile
for %%i in ("D:\Ordner\Beispiel.txt") do (
auf zB
for %%i in ("D:\Ordner\*.txt") do (
können auch mehrere Dateien mit diesem Batch verarbeitet werden.

Zu berücksichtigen wäre noch, dass im obigen Beispiel die Dateien "Beispiel001.txt" und "Beispiel002.txt" noch nicht vorhanden sein dürfen, dies aber (noch) nicht geprüft wird.

Zur Nummerierung: Eine Sortierung der Absatz-Dateien lässt sich mit durchgehend (zB) dreistelligen Nummern (Umsetzung siehe Zeilen 8 und 23) leichter durchführen ...
Problematisch wird es in Batch, wenn (nicht typografische) Anführungszeichen in ungerader Anzahl in einer Zeile aufscheinen ...

Grüße
bastla