Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Batch problem (beim auslesen mehrerer .txt Dateien)

Frage Entwicklung Batch & Shell

Mitglied: soga307

soga307 (Level 1) - Jetzt verbinden

13.10.2009 um 12:34 Uhr, 6665 Aufrufe, 4 Kommentare

Problem mit dem sammeln von informationen aus mehreren txt dateien und diese dann in ein txt file zu packen

hallo liebe Community,

mir wurde die Aufgabe erteilt eine batch datei zu basteln die 2 Informationen aus vielen (hunderten) einzel txt files zusammenfügt und in eine neue datei (txt) packt!
habe nun schon einige versuche gewagt jedoch immer nur mit mäßigen Erfolg vielleicht könnt ihr mir ja weiterhelfen.

Beschreibung:
Die .txt Files befinden sich alle in einem Ordner die dateien heißen alle ungefähr gleich beginnent mit einem d und enden mit einem c
Bsp.:

d1234c

in diese txt Files sind einige Informationen drin die nicht bennötigt werden zum auswerten (z.b. pings und server adressen)
Wichtig in den txt files ist nur die erste und letzte Stelle. D.h. in zeile 1 steht der name und in der letzten Zeile ein Datum!

bsp.:

d1234c
....
....
......
10.10.2010

Diese beiden Informationen sollen nun in eine extra txt file gepackt werden (kopiert werden)... da es sich hier um nicht nur eine Datei handelt sondern um viele bin ich an der stelle etwas ratlos wie ich in einem Batch file angeben kann das er mehr als nur eine Datei öffnen und der die entsprechenden Einträge suchen soll... oder anders gefragt ist dies überhaupt möglich und wenn ja wie?

Hoffe auf eure Hilfe

Liebe Grüße

euer Soga
Mitglied: bastla
13.10.2009 um 13:20 Uhr
Hallo soga307 und willkommen im Forum!

Unter der Annahme, dass es sich jeweils um komplette Zeilen handelt, etwa so;
01.
@echo off & setlocal 
02.
set "Erg=D:\Ergebnis.txt" 
03.
set "Ordner=D:\Daten" 
04.
 
05.
if exist "%Erg%" del "%Erg%" 
06.
for %%i in ("%Ordner%\d*c.txt") do call :ProcessFile "%%i" 
07.
goto :eof 
08.
 
09.
:ProcessFile 
10.
set /p Zeile1=<%1 
11.
for /f "usebackq delims=" %%a in (%1) do set "ZeileN=%%a" 
12.
>>"%Erg%" echo %Zeile1%_%ZeileN% 
13.
goto :eof
Soferne diese Zeilen noch zerlegt werden müssen, wäre vorweg zu klären, nach welchen Kriterien die Zerlegung erfolgen soll.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
13.10.2009 um 13:22 Uhr
Moin soga307,

willkommen im Forum.

Wenn du dir die Aufgabenstellung in kleinen Häppchen vornimmst, dann ist es gar nicht so schwer..

Also, es gibt irgendwo ein Laufwerk, einen Pfad und darin interessieren uns nur die Dateien "d*c.txt".
Und wir gehen mal davon aus, dass wir die einzeln anfassen müssen, also ist eine FOR-Anweisung das richtige Batch-Werkzeug.

Mach den ersten Test am CMD-Prompt, ob kein Denkfehler dabei war:
01.
FOR %i in (D:\EinPfad\ZuDenLogfies\d*c.txt) do @echo %i  
02.
-oder- 
03.
FOR %i in ("D:\Ein Pfad mit Leerzeichen\Zu Den Logfies\d*c.txt" ) do @echo %i  
04.
 
Jede einzelne gefundene d*c.txt-Datei %i hat eine erste Zeile und eine letzte Zeile, die dich interessieren.

Die erste Zeile einer Textdatei bekommst du am CMD-Prompt/im Batch mit
01.
Set /p "zeile1=<D:\eineGefundeneDatei.txt"   
02.
Echo %zeile% 
03.
-- oder, wenn es getestet ist natürlich 
04.
Echo %zeile% >>m:\eine\NeueDatei.txt
Die letzte Zeile einer Textdatei bekommst Du wiederum mit einer FOR/F-Anweisung:
01.
FOR /F "delims=" %i in (D:\Eine\textdatei.txt) do Set "letzteZeile=%i" 
02.
Echo %letzteZeile%
Alle Beispiele sind für den proof-of-concept am CMD-Prompt.
Deshalb haben alle Laufvariablen (%i) nur EIN Prozentzeichen vor dem Buchstaben.
In einem Batch müssen es deren zwei sein (%%i)

Grüße
Biber

[Edit] Hallo bastla!
Menno, sogar die FDP hat sich total gewandelt ("...ist jetzt in der Realität angekommen..", heisst es in den Nachrichten.)
Aber du überholst immer noch rechts wie eh und je ...
[Edit]
Bitte warten ..
Mitglied: soga307
13.10.2009 um 13:50 Uhr
Ich danke euch vielmahls ihr habt mir den tag geretet ;)

Gruß

Soga
Bitte warten ..
Mitglied: bastla
13.10.2009 um 16:06 Uhr
@Biber
Aber du überholst immer noch rechts wie eh und je ...
Leicht zu erklären (Stichwort "Massenträgheit") ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Batch & Shell
gelöst Problem Auslesen einer Internetseite mit Powershell (11)

Frage von c20082005 zum Thema Batch & Shell ...

Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA - Inhalte und Dateiname von txt-Dateien automatisch in Excel importieren (2)

Frage von Booster07 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(40)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (8)

Frage von ahaeuser zum Thema Windows Server ...