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

Per Batch Inhalt von versch. Dateien eines Verz. in eine Datei mit Leerzeile getrennt kopieren

Frage Entwicklung Batch & Shell

Mitglied: meandmyself

meandmyself (Level 1) - Jetzt verbinden

15.05.2008, aktualisiert 21:34 Uhr, 5920 Aufrufe, 7 Kommentare

Schönen guten Abend,

bin schon eine Weile am suchen und Anfänger in puncto Batcherstellung.
Vielleicht fällt jemand ad hoc was dazu ein.

Es sollen in einem bestimmten Verzeichnis alle dort vorhandenen Inhalte von Textdateien in eine einzige Textdatei kopiert werden.

Bisher habe ich copy c:\temp\*.* e:\test.txt.

Der Inhalt jeder Datei soll allerdings durch einen Leerzeile getrennt in die test.txt geschrieben werden.

Besten Dank für Eure Tipps!
Mitglied: 60730
15.05.2008 um 19:54 Uhr
Servus,

ganz banal würde es ungefähr so gehen.

01.
type c:\temp\*.txt >>c:\temp\test.ini
Da du aber eine Leerzeile dazwischen haben willst - mußt du es per For Schleife realisieren.
Und bei For Schleifen gibt es hier zwei richtig gute Profis.
Die haben bestimmt was in Petto
Bitte warten ..
Mitglied: bastla
15.05.2008 um 20:53 Uhr
Hallo meandmyself und willkommen im Forum!

Wie von TimoBeil angesprochen, benötigst Du eine "for"-Schleife, um jede Datei einzeln ausgeben zu können - etwa so:
01.
for %i in (c:\temp\*.*) do type "%i">>e:\test.txt & echo\>>e:\test.txt
Wenn Du die obige Zeile nicht direkt eingeben, sondern in einem Batch verwenden willst, jeweils %%i schreiben, und falls Du eine bestimmte Reihenfolge der Dateien benötigst oder Dich der Schönheitsfehler "Leerzeile am Ende der Zieldatei" stört, sag Bescheid.

[Edit] Etwas eleganter wäre:
01.
for %i in (c:\temp\*.*) do (type "%i" & echo\)>>e:\test.txt
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: meandmyself
15.05.2008 um 21:08 Uhr
Großartig, vielen Dank!

Das funktioniert prima. Ist es eigentlich möglich, den Inhalt der test.txt bei jedem Aufruf zu löschen oder muss ich die Datei löschen, z.B. per "if exist e:\test.txt del e:\test.txt"?

Beste Grüße
Bitte warten ..
Mitglied: bastla
15.05.2008 um 21:15 Uhr
Hallo meandmyself!

Der saubere Weg wäre der von Dir beschriebene, aber es ginge auch so:
01.
del e:\test.txt 2>nul & for %i in (c:\temp\*.*) do (type "%i" & echo\)>>e:\test.txt
Damit wird auf jeden Fall versucht, die Zieldatei zu löschen - falls sie nicht vorhanden ist, unterdrückt die Umleitung "2>nul" die ansonsten fällige Fehlermeldung "e:\test.txt konnte nicht gefunden werden".

Grüße
bastla
Bitte warten ..
Mitglied: meandmyself
15.05.2008 um 21:25 Uhr
Super, Danke Bastla,

jetzt kann ich ja beruhigt den Feierabend genießen

Viele Grüße
meandmyself
Bitte warten ..
Mitglied: bastla
15.05.2008 um 21:29 Uhr
Hallo meandmyself!

Bevor Du das tust, hätte ich noch einen Job für Dich: http://www.administrator.de/index.php?faq=32

Grüße
bastla
Bitte warten ..
Mitglied: meandmyself
15.05.2008 um 21:34 Uhr
ja, klar. sorry.
Gut´ Nacht!
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...