Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Teil einer Textdatei in eine andere Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: Ruebezahl

Ruebezahl (Level 1) - Jetzt verbinden

06.11.2006, aktualisiert 08.11.2006, 4762 Aufrufe, 6 Kommentare

Liebe Leute,


wer kennt eine elegante Möglichkeit, in einer Textdatei_A ab einem bestimmten Suchbegriff_1 nach einem Suchbegriff_2 zu suchen? Wenn dieser Suchbegriff_2 vorkommt, soll alles ab dem Suchbegriff_1 bis zum Ende dieser Datei in eine neue Textdatei_B geschrieben werden.

Diese Batch-Datei soll keine externen Programme verwenden und unter
Windows 2000 / 2003 lauffähig sein.


Vielen Dank für Eure Mühe

Herzliche Grüße
Ruebezahl
Mitglied: AxelHahn
06.11.2006 um 12:19 Uhr
Hallo Ruebezahl


Ich würde in der Textdatei die Zeilennummer von Begriff1 als auch 2 suchen.
Wenn Zeilennummer2 > Zeilennummer1 dann Textdatei ab Zeile X anzeigen und in eine neue Textdatei umleiten.

Ich habe gerade nicht soviel Zeit zum Ausprobieren. Daher nur Codeschnipselchen, die du zum Zusammenbau bräuchtest:

Zeilennummer anzeigen: findstr /n "Suchbegriff" "[Dateiname]"
Textfile ab bestimmter Zeile anzeigen: more +"Zeilenanzahl" "[Dateiname]"


Viele Grüsse
-= Axel =-
Bitte warten ..
Mitglied: Escobar
06.11.2006 um 12:34 Uhr
hier mal ein script, welches eine section aus einer ini rausholt. du musst dieses script nur sinnvoll zusammenkuerzen, dann haste es.

01.
@echo off 
02.
 
03.
REM Param 1: Pfad zur IniDatei 
04.
REM Param 2: Pfad zur ErgDatei 
05.
REM Param 3: Name der gesuchten Section 
06.
 
07.
set backupini=%1 
08.
set ErgFile=%2 
09.
set SectionName=%3 
10.
set TempFile=iniExtTemp.mbfr 
11.
set inGesHeader=0 
12.
set inGesSection=0 
13.
set inHeader=0 
14.
set Zeile=0 
15.
 
16.
del %ErgFile% >NUL >NUL 
17.
del %TempFile% >NUL >NUL  
18.
 
19.
for /F "tokens=1 delims=" %%f in (%backupini%) DO (set Zeile=%%f & call:[BearbeiteZeile]) 
20.
 
21.
:[BearbeiteZeile] 
22.
echo %Zeile%>%TempFile% 
23.
findstr "[" %TempFile% >NUL 
24.
if %errorlevel%==0 set inHeader=1 & set inGesSection=0 & set inGesHeader=0 
25.
findstr "/C:%SectionName%" %TempFile% >NUL 
26.
if %errorlevel%==0 set inGesHeader=1 
27.
findstr "REM " %TempFile% >NUL 
28.
if %errorlevel%==0 set inGesSection=0 
29.
if %inGesSection%==1 echo %Zeile% >> %ErgFile% 
30.
if %inGesHeader%==1 set inGesSection=1 
31.
 
32.
:EOF 
33.
del %TempFile% >NUL
Esco
Bitte warten ..
Mitglied: Ruebezahl
06.11.2006 um 16:25 Uhr
Liebe Leute,

ausgehend von Axels Idee habe ich mal Folgendes zusammengebaut
und mit ein paar Erläuterungen versehen:

01.
@ECHO off 
02.
SETLOCAL 
03.
 
04.
REM Ersten Suchbegriff finden (dieser Begriff taucht immer irgendwo auf) 
05.
FOR /f  "delims=:" %%i IN ('FINDSTR /n /c:Suchbegriff_1 Textdatei_A') DO SET /a zahl=%%i 
06.
 
07.
REM Zeilenzahl um 1 zurücksetzen, damit Suchbegriff_1 in der Ausgabedatei erscheint 
08.
SET /a zahl=%zahl%-1 
09.
REM Textdatei_A ab Suchbegriff_1 in Textdatei_B schreiben 
10.
MORE +%zahl% Textdatei_A > Textdatei_B 
11.
 
12.
REM Zweiten Suchbegriff finden 
13.
FOR /f %%i IN ('FINDSTR /c:Suchbegriff_2 Textdatei_B') DO GOTO weiter 
14.
 
15.
REM wenn zweiter Suchbegriff nicht gefunden, Textdatei_B löschen 
16.
DEL Textdatei_B /f > nul 
17.
GOTO eof 
18.
 
19.
:weiter 
20.
REM weitere Verarbeitung 
21.
 
22.
:eof
So funktioniert es... Wenn jemand andere Vorschläge hat, so sind diese herzlich willkommen.
Vielen Dank an Axel und Escobar für ihre Ideen.

Herzliche Grüße
Ruebezahl
Bitte warten ..
Mitglied: Biber
06.11.2006 um 18:34 Uhr
Moin Bätchler,

ich setze einfach diesen Thread auf gelöst... da können höchstens noch Spitzfindigkeiten ergänzt werden.

Die einzige Spitzfindigkeit, die ich noch anzumerken hätte:
Wenn die Textdaten nun nicht gerade größer sind als die Hälfte des virtuellen Arbeitsspeichers, dann kann auf das Zwischenspeichern in einer Datei_B verzichtet werden.

01.
@ECHO off 
02.
SETLOCAL 
03.
 
04.
REM Ersten Suchbegriff finden (dieser Begriff taucht immer irgendwo auf) 
05.
FOR /f  "delims=:" %%i IN ('FINDSTR /n /c:Suchbegriff_1 Textdatei_A') DO SET /a "zahl=%%i - 1" 
06.
REM Zeilenzahl um 1 zurücksetzen, damit Suchbegriff_1 in der Ausgabedatei erscheint 
07.
REM Zweiten Suchbegriff finden ... Textdatei_A ab Suchbegriff_1 an MORE und FINDSTR weiterreichen.. 
08.
FOR /f %%i IN ('MORE +%zahl% Textdatei_A^|FINDSTR /c:Suchbegriff_2') DO GOTO weiter 
09.
goto :eof 
10.
 
11.
:weiter 
12.
REM weitere Verarbeitung 
13.
 
14.
:eof ----------------- die Marke ":eof" braucht nicht unbedingt angegeben werden, die ist hart verdrahtet in der CMD.exe
Aber das sind, wie geschrieben, nur kosmetische Anmerkungen.
Vielen Dank allen

Grüße
Biber
P.S. @Ruebezahl: Habe Deinen Code auf <code> umformatiert.
Bitte warten ..
Mitglied: Ruebezahl
08.11.2006 um 11:08 Uhr
Hallo Biber,


ich habe Deine Änderungen getestet - es funktioniert prima.

Vielen Dank für Deine Mühe!


Herzlich Grüße
Ruebezahl
Bitte warten ..
Mitglied: Biber
08.11.2006 um 11:13 Uhr
Moin Rübezahl,

danke für die Rückmeldung.

Ich setze diese Gemeinschaftslösung mal auf geschlossen.

Herzliche Grüße zurück
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Einen bestimmten Teil einer Textdatei auslesen
gelöst Frage von Focus1610Batch & Shell5 Kommentare

Hallo, ich brauche mal einen Denkanstoß. Ich bekomme per FTP von einem Kunden täglich mehrere Textdateien. Diese haben unterschiudlich ...

Batch & Shell
Dateierweiterungen in eine Textdatei schreiben
gelöst Frage von joe65Batch & Shell3 Kommentare

Hallo, ich hab nach längerer Zeit wieder mal ein Batch-Problem. Ich möchte alle Dateierweiterungen (txt, docx, jpg, etc.) die ...

Batch & Shell
Textdatei zeilenweise in Variable schreiben
gelöst Frage von goodbytesBatch & Shell20 Kommentare

Hallo, mit einer Batch möchte ich mehrere Laufwerke mappen, abhängig vom Usernamen. Klar könnte ich auch für jeden User ...

Batch & Shell
Erstellungsdatum vor jede Zeile einer Textdatei schreiben
gelöst Frage von freakonaleashBatch & Shell5 Kommentare

Hallo zusammen, ich habe einen Ordner mit ganz vielen Textdateien. Ich bräuchte eine Batch, die in jede Datei vor ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 103 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.