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

Datei aus Zip extrahieren, Inhalt konkatenieren

Frage Entwicklung Batch & Shell

Mitglied: Viprex

Viprex (Level 1) - Jetzt verbinden

26.06.2009, aktualisiert 08.07.2009, 7797 Aufrufe, 3 Kommentare

Folgende Problemstellung:

Es liegen Tausende Zip Dateien vor mit unterschiedlichem Namen (Datum). In den Zip Dateien ist eine Ordnerstruktur enthalten, die immer gleich ist. In einem Unterordner befindet sich eine Datei. In dieser Datei sind, getrennt durch Tab, einige Spalte und Zeilen vorhanden. Manchmal ist diese Datei auch nicht vorhanden!

Ziel: Alle Dokumente hintereinander weg aneinander reihen. Das Zieldokument soll also den Inhalt der entsprechenden Dateien beinhalten, wenn es geht weiterhin korrekt formatiert.

Hat jemand eine Idee, wie ich das automatisiert lösen kann? Ich kann ein bisschen Java und ein bisschen CMD-Batch. Gerne auch fertige Lösungen, die ich mir dann zusammenstückeln muss.

Edit: Sorry, ein paar mehr Infos: Betriebssystem: Eigentlich Windows XP, kann aber Linux sein (da kenne ich mich weniger gut aus). Tools: Egal, ich kann alles nutzen und installieren. Wenn es nicht zu teuer ist, kaufe ich auch gerne etwas.
Die enthaltene Ordnerstruktur:

-Backup_20090319_030323.zip
-- Ordner "S2"
-- Ordner "S3"
-- Ordner "S5"
-- Ordner "S7"
-- Ordner "S10"
--- Datei "S10.fal"
-- Ordner "S12"
-- Ordner "S14"

Inhalt Datei ungefähr so:
53380056 2009-06-26 895332202 1 0 4 0 522052 EUR 0 DE 0
Und weitere dieser Zeilen, immer verschieden viele.
Mitglied: empreality
26.06.2009 um 14:26 Uhr
Das sollte mit AutoIT vernünftig und schnell zu lösen sein.

Neben AutoIT selbst musst du dir dann noch einen Kommandozeilen-Entpacker wie PKUNZIP besorgen und dann

- Ergebnisdatei im Append-Modus öffnen
- Liste aller ZIPs in ein Array und dieses dann durchlaufen
- ZIP in temporären Pfad entpacken und Datei im Lesemodus öffnen
- Inhalt in Ergebnisdatei schreiben
- temporären Kram löschen
- Ergebnisdatei schließen
Bitte warten ..
Mitglied: LotPings
26.06.2009 um 16:08 Uhr
Hallo Viprex.

Ist die gesuchte Datei immer im Ordner S10 mit Namen S10.fal ?
Oder welche Kriterien beschreiben die Datei?

Grundsätzlich eignet sich jeder Entpacker ob jetzt Winzip cmdline, 7zip, infozip etc. oder nit vbscript gehts ggfs auch nativ.

Meine Favoriten wären
Batch for schleife über alle 'dir *zip ' und mit
"7z.exe e Archiv.zip s10.fal" dateien extrahieren und an das Sammeldokument anhängen.

Ein grundsätzliches Problem sehe ich nicht.

Gruß
LotPings
Bitte warten ..
Mitglied: Viprex
07.07.2009 um 10:06 Uhr
Herzlichen Dank für die Ratschläge und sorry für die späte Antwort. Hatte in der Zwischenzeit anderes zu tun.

Hier die Lösung, wie ich es jetzt gemacht habe. Funktioniert problemlos.

01.
@echo off&setlocal  
02.
@echo off&setlocal  
03.
for /F "delims=" %%A in ('dir /s/b *.zip') do call :extract "%%~fA"  
04.
GOTO :EOF 
05.
 
06.
:extract  
07.
"C:\Programme\7-Zip\7z.exe" e %1 "s10\s10.fal" 
08.
type s10.fal >> s10_all.csv 
09.
del s10.fal 
10.
GOTO :EOF
Nochmal herzlichen Dank!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Zip extrahieren (2)

Frage von Marabunta zum Thema Batch & Shell ...

PHP
gelöst ZIP-Datei auf Server speichern (23)

Frage von Yanmai zum Thema PHP ...

Batch & Shell
Umbenennen entpackter Dateien nach Dateinamen der rar- zip-Datei

Frage von windows-nutzer zum Thema Batch & Shell ...

Linux
gelöst URL und Username aus HTML-Datei extrahieren - sed, grep (4)

Frage von plutowitsch zum Thema Linux ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

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

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...

Linux Netzwerk
gelöst Debian Neuinstallation 2.Netzwerkkarte keine Verbindung (10)

Frage von terminator zum Thema Linux Netzwerk ...