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

Mitglied: Ruebezahl

Ruebezahl (Level 1) - Jetzt verbinden

06.11.2006, aktualisiert 08.11.2006, 4784 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

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 ...

Batch & Shell

Einen Pfeil in eine textdatei mit batch Schreiben

gelöst Frage von johannes0073Batch & Shell2 Kommentare

Ich stehe vor dem Problehm das ich mit batch datei 1 batch datei 2 Schreiben will das proplehm ist ...

Batch & Shell

PowerShell - Teile eines Pfads in eine Variabel schreiben

gelöst Frage von ImmerKindBatch & Shell1 Kommentar

Hallo Leute:) Ich habe eine kleine Frage. Ist es möglich einem Pfad (Beispiel: \\Server\c$\Skripte\Powershell\Skrip.ps1) nur das File zu entziehen ...

Neue Wissensbeiträge
Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 1 StundeSicherheits-Tools

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 15 StundenServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Windows 10

Kumuative Updates für .NET Framework kommen für Windows 10 V1809

Information von kgborn vor 20 StundenWindows 10

Microsoft hat das Ganze im Beitrag Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update vorgestellt. ...

Sicherheit
Neue IT-Administrator Ausgabe - Endpoint Security
Information von Frank vor 21 StundenSicherheit

Die Endgeräte in Unternehmen stellen das wohl größte Einfallstor für Angreifer dar. Ein geöffneter, infizierter E-Mail-Anhang oder der Besuch ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server33 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server16 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...

Sicherheits-Tools
Trend Micro WFBS lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools14 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...