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

Dateiinhalte in Ordnern auslesen und in Datei speichern cmd

Frage Entwicklung Batch & Shell

Mitglied: user2009

user2009 (Level 1) - Jetzt verbinden

05.02.2009, aktualisiert 18.10.2012, 8099 Aufrufe, 8 Kommentare

Mein Problem ist, dass in einer Ordnerstruktur verschieden Dateien (*.txt) sind.
Jetzt brauche ich den Dateinamen und den Dateiinhalt zusammen in einer Datei.

Quellen:
c:\ordner\*.txt
c:\ordner\unterordner1\*.txt
c:\ordner\unterordner2\*.txt

ein Ziel:
c:\zusammenfassung.txt (Datei1: Dateiname, Inhalt, Datei [i]: ....)

Ich fand in einem anderen Beitrag folgendes:
01.
for %%i in ("o:\test\*.txt") do @(for /f "delims=" %%j in ('type %%i') do @(echo %%i %%j)) >>o:\zusammenfassung.txt
Was muß an dem Script geändert werden, dass es o.g. Zweck erfüllt?
Mitglied: 60730
05.02.2009 um 13:16 Uhr
Servus, Moin und auch dir ein freundliches Hallo.

Mein Problem ist - ich mag niemandem einen Tipp geben, der mit der Tür ins Haus fällt und ich möchte auch nicht die Mär aufkommen lassen, hier würden xx % Fragen unbeantwortet.

Was muß an dem Script geändert werden, dass es o.g. Zweck erfüllt?
Ich stelle die Frage um, und behaupte, was kann an dem Script übrigbleiben, oder doch lieber komplett neu -da du etwas ganz anderes willst.

dir /b /s *.txt
type /?

mit freundlichen Grüßen
Bitte warten ..
Mitglied: user2009
05.02.2009, aktualisiert 18.10.2012
Hallo Timo Beil,

das Script hatte ich hier gefunden,
1
als ich nach einer (ähnlichen) Lösung für meine Aufgabe suchte.

Dort werden verschieden Daten ausgelesen, aber anschließend umbenannt.

Falls das Script nicht weiter hilft, dann gern ein neues.
Der Inhalt muß halt komplett ausgelesen (voher am besten mit Dateinamen) werden.

Für einzelne Dateien, weiß ich wie es geht:
type datei1.txt > zusammenfassung.txt
type datei2.txt >> zusammenfassung.txt

Wie durchforste ich die Unterordner nach Dateien, deren Name nicht bekannt ist und das alles in einer Schleife?

Freundliche Grüße
user2009
Bitte warten ..
Mitglied: user2009
05.02.2009 um 14:42 Uhr
dir /b /s *.txt
ist nicht schlecht, aber soll das Ergebnis in eine Datei und dann zeilenweise abgearbeitet werden?

Mit
01.
for %%i in ("o:\test\*.txt") do @(for /f "delims=" %%j in ('type %%i') do @(echo %%i %%j)) >>o:\zusammenfassung.txt
kann man im Ordner "test" alle *.txt auslesen und in die zusammenfassung schreiben

Was nicht funktioniert ist folgendes:
1. Dateinamen mit Leerzeichen
2. Jeder Zeile, die ausgelesen wird wird der Dateiname vorangestellt --> besser nur bei der ersten Zeile aus einer Datei
3. kein durchsuchen derunterverzeichnisse

Hat bitte jemand Tipps/ Lösungen?
Bitte warten ..
Mitglied: 60730
05.02.2009 um 14:58 Uhr
Servus,

01.
for %%i in ("o:\*.txt" /s) do @( 
02.
	echo Datei "%%i" && Echo ......................... && type "%%i") >>o:\zusammenfassung.txt
Sollte eher deinen Ansprüchen gerecht werden.

Gruß
Bitte warten ..
Mitglied: user2009
05.02.2009 um 15:46 Uhr
Hallo Timo,

funktioniert - Danke!

Das "/s" klappt zwar nicht, das Script "denkt", dass es eine Datei "/s" gibt ...
Aber da kann ich mir die Dateien vorher mit xcopy in einen Tempordner kopieren.

01.
for %%i in ("o:\test\ordner\*.txt") do @( Echo. && Echo ......................... && echo Datei: "%%i" && Echo ......................... && type "%%i")>>o:\test\zusammenfassung.txt
Bitte warten ..
Mitglied: user2009
05.02.2009 um 16:30 Uhr
Dank der obigen Hilfe, kam ich darauf meine sql-Dateien genauso zu packen und anschließend zu löschen:

01.
@echo off 
02.
title sql-dateien packen 
03.
echo. 
04.
color f0 
05.
 
06.
set "Ordner=sql_gz" 
07.
if exist "%cd%\%Ordner%" rd /Q /s "%cd%\%Ordner%" 
08.
if not exist "%Ordner%" md "%Ordner%" 
09.
 
10.
::/D:M-T-J  Kopiert nur die an oder nach dem Datum geaenderten Dateien. Ist kein Datum angegeben, werden nur Dateien kopiert, die neuer als die bestehenden Zieldateien sind. 
11.
:: /V überprüft jede neue Datei auf Korrektheit. 
12.
:: /F Zeigt die Namen der Quell- und Zieldateien 
13.
:: /Y     Unterdrueckt die Aufforderung zur Best„tigung, dass eine vorhandene Zieldatei ueberschrieben werden soll. 
14.
 
15.
xcopy *.sql "%Ordner%\*.*"  /V /F /Y /D:02-05-2009 
16.
 
17.
 
18.
for %%i in ("%cd%\%Ordner%\*.sql") do @("%cd%\7z\7za.exe" a -r -tgzip "%%i".gz "%%i" && DEL "%%i")  
19.
 
20.
echo. Zum Beenden eine Taste drücken. 
21.
pause >nul
wg. oben noch einmal:
Weiß doch jemand, wie man in den Schleifen Unterverzeichnisse durchsucht / bearbeitet?
Bitte warten ..
Mitglied: bastla
05.02.2009 um 19:32 Uhr
Hallo user2009!

Weiß doch jemand, wie man in den Schleifen Unterverzeichnisse durchsucht / bearbeitet?
Dazu musst Du die Art der Schleife ändern:
01.
for /f "delims=" %%i in ('dir /s /b "o:\*.txt"') do @( 
02.
    Echo\ 
03.
    Echo ......................... 
04.
    Echo Datei: "%%i" 
05.
    Echo ......................... 
06.
    type "%%i" 
07.
)>>o:\test\zusammenfassung.txt
Da es ohnehin schon ein Batch ist, würde ich die mehrzeilige Schreibweise bevorzugen - liest sich etwas leichter ...

Grüße
bastla
Bitte warten ..
Mitglied: user2009
06.02.2009 um 14:46 Uhr
Hallo Bastla,

es klappt wunderbar.
Danke!

Gruß
user2009
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

PHP
gelöst Externe XML-Datei in PHP auslesen (18)

Frage von Akrosh zum Thema PHP ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...