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

Standard Bestimmte Datei per batch zu einer csv zusammenfügen und alte mit Timestamp versehen

Frage Entwicklung Batch & Shell

Mitglied: PeterCroach

PeterCroach (Level 1) - Jetzt verbinden

12.10.2012, aktualisiert 10:01 Uhr, 1666 Aufrufe, 6 Kommentare

Hallo

Ich möchte über eine batch datei mehrere csv dateien zu einer einzigen zusammenfügen.
Ich habe zwei Dateien die in mehreren Ordner hinterlegt sind aber immer den gleichen Dateinamen haben.

Beispiel:
Ordner1/1.csv
Ordner1/2.csv

Ordner2/1.csv
Ordner2/2.csv
usw..

Die datei 1.csv aus allen Unterordnern soll zusammen gefügt werden und die erste Zeile der zweiten Datei soll entfernt werden.
Die Datei soll anschließend zusammen gefügt werden und die "alte datei" soll mit einem Timestamp hintersehen werden.

Bisher funktioniert das ganze so, dass die Unterordner durchgegangen werden und die erste Zeile der zeiten Datei auch entfernt wird.
Ich benötige nun nur noch, dass ich einen bestimmten dateinamen auswählen kann z.b 1.csv und anschließend der Datei nachdem Sie zusammengefügt umbenannt wird mit Dateiname+Timestamp.
Habt Ihr eine Idee?
Danke!




01.
@echo off & setlocal  
02.
set "Ordner=Ordner 
03.
set "Sammel=OrdnerZusammen.csv" 
04.
 
05.
pushd "%Ordner%" 
06.
if exist "%Sammel%" del "%Sammel%" 
07.
for %%i in (*.csv) do if not exist "%Sammel%" for /f "usebackq delims=" %%z in ("%%i") do if not exist "%Sammel%" echo %%z>"%Sammel%" 
08.
for %%i in (*.csv) do more +1 "%%i">>"%Sammel%" 
09.
popd
Mitglied: 60730
12.10.2012, aktualisiert um 10:00 Uhr
moin und willkommen...

  • Bitte male <code> vor und </code> nach deiner Batch rein.
  • Dann gib mal in ner Dosbox set /? ein und schaue dir an, was /p bedeutet.
  • Nun weißt du, wie du eine Variable "auswählen" kannst.
  • von daher ist es dann ein leichtes aus dem *.csv %variable%.cvs zu machen.
  • Und wenn du während der Testphase die erste Zeile ausremst, dann wirds noch leichter.
Du siehst - ganz easy

Gruß
Bitte warten ..
Mitglied: PeterCroach
12.10.2012 um 10:03 Uhr
Hi Rambospfeil,

kannst du mir auf die Sprünge helfen?
Wie würde der Code deiner Meinung nach dann aussehen?
Bitte warten ..
Mitglied: 60730
12.10.2012, aktualisiert um 10:11 Uhr
Salü,

hab ich doch...(das mit den Sprüngen) Und "danke für die Tags..

Ich kann keine Batches schreiben, denn die würden dann meinem Arbeitgeber gehören, denn alles - was ich während meiner Arbeitszeit entwickel, gehört meinem Cheff.

Gruß

PS: Such mal nach einem gewissen Benutzer "Biber", der soll hier mal ein wunderbares Tutorial zum andern Thema Batch und Datum geschrieben haben.
Bitte warten ..
Mitglied: andimue
12.10.2012 um 11:22 Uhr
Vielleicht noch ein Tipp:

statt die Dateien mit "more" auszugeben könntest du dir mal die Möglichkeiten des copy-Kommandos anschauen, mit der man mehrere Dateien zu einer zusammenfügen kann:

c:\>copy /?
Kopiert eine oder mehrere Dateien an eine andere Position.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] Quelle [/A | /B]
[+ Quelle [/A | /B] [+ ...]]
[Ziel [/A | /B]]
...
Um Dateien aneinander zu hängen, geben Sie eine einzelne Datei als Ziel an,
aber mehrere Dateien als Quelle (unter Verwendung von Platzhaltern oder
in der Form: Datei1 + Datei2 + ...).
Bitte warten ..
Mitglied: 60730
12.10.2012 um 12:43 Uhr
Salve,

@ andi:
verwirr ihn doch nicht....

Die datei 1.csv aus allen Unterordnern soll zusammen gefügt werden und die erste Zeile der zweiten Datei soll entfernt werden.

more passt, ist besser als ein for /skip=1
Bitte warten ..
Mitglied: andimue
12.10.2012 um 14:52 Uhr
@60730:

hast' natürlich Recht, ich hab den Halbsatz mit der "ersten Zeile der zweiten Datei" (im "dritten Anlauf" beim "vierten Bier") total überlesen
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...