Top-Themen

Aktuelle Themen (A bis Z)

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

Dateiendungen in zip finden (ohne entpacken)

Frage Entwicklung Batch & Shell

Mitglied: cbli

cbli (Level 1) - Jetzt verbinden

06.11.2006, aktualisiert 20:25 Uhr, 7170 Aufrufe, 3 Kommentare

Ich möchte gerne Dateien mit einer bestimmten Dateieendung in Zip Dateien finden und daraufhin diese entpacken und in ein anderes verzeichnis kopieren lassen.
Danach sollen die gerade entpackte Zip Datei gelöscht (oder eventuell auch in ein anderes Verzeichnis verschoben werden).

Beispiel:

Ich habe im Verzeichnis d:\test\ 10 zip dateien.
Diese sollen auf Dateien mit der Dateiendung *.xyz abefragt werden (also ob sich in den Zip Dateien ,Dateien mit der Endung xyz) befinden.
Im Neinfall reicht ein simpler Hinweis,beim Jafall sollen diese entpackt werden und in ein anderes Laufwerk und Verzeichnis

c:\entpackt\

kopiert werden.
Außérdem soll automatisch überprüft werden ob sich die entpackten Dateien schon in dem neuen Verzeichnis befinden und wenn ja automatisch überschrieben werden,ohne das ich mit Enter bestätigen muss.
Die bereits abgearbeiteten Zip Dateien sollen wie oben erwähnt entwerder verschoben oder gelöscht werden.
Dies soll so lange laufen bis in dem bestimmten Verzeichnis sich keine Zip Dateien mehr befinden.
Wie mache ich das ,wenn z.b auf verschiedene Dateiendungen abgefragt werden soll und diese dann auch in verschiedene Verzeichnisse kopiert werden sollen (immer das gleiche Verzeichnis entsprechend der Dateiendung).

Wer kann mir helfen ?

Danke
Claus
Mitglied: bastla
06.11.2006 um 19:36 Uhr
Hallo Claus!

Am Beispiel der Commandline-Version von 7zip (http://www.7-zip.org/download.html) Schritt 1 - Entpacken:

01.
7za e *.zip -oD:\Texte -y *.txt -r 
02.
7za e *.zip -oD:\Docs -y *.doc -r 
03.
...
Kurze Erläuterung:
"e" für Entpacken
"-oD:\Texte" für Zielverzeichnis (muss noch nicht existieren)
"-y": JA-Sager (keine Rückfrage zB beim Überschreiben)
"-r" für die Behandlulng aller im Archiv enthaltenen passenden Dateien (auch aus eventuellen Unterverzeichnissen innherhalb der .zip-Datei)

Was das Löschen/Verschieben anlangt: Wenn alles (alle gewünschten Dateitypen) aus den vorhandenen .zip-Dateien "gesaugt" wurde, könnten ja auch eigentlich alle .zip-Dateien entsorgt werden ...

HTH
bastla
Bitte warten ..
Mitglied: bastla
06.11.2006 um 20:14 Uhr
Ergänzung für den Fall, dass tatsächlich unterschieden werden muss, ob aus einer .zip nun etwas herauszuholen war oder nicht:

01.
@echo off & setlocal 
02.
del Entpackt.txt 2>nul 
03.
del Nixdrin.txt 2>nul 
04.
for %%i in (*.zip) do call :unzip "%%i" 
05.
goto :next 
06.
:unzip 
07.
for /f "delims=" %%m in ('7za e %1 -oD:\Texte -y *.txt -r') do set Erg=%%m 
08.
If "%Erg%"=="No files to process" echo %1 >> Nixdrin.txt & goto :eof 
09.
echo %1 >> Entpackt.txt & goto :eof 
10.
:next 
11.
echo Hier geht's vielleicht noch weiter
Mit der dargestellten Batch-Datei lassen sich die .zip-Dateien einzeln entpacken und je nach Erfolg in einer von zwei Logdateien ("Entpackt.txt" oder "Nixdrin.txt") protokollieren.

Da bei meinen Versuchen kein Errorlevel für den Fall, dass keine Datei zu entpacken war, zurückgeliefert wurde, musste ich die abschließende Meldung "No files to process" als Anhaltpunkt dafür nehmen.

Natürlich kann es im Batch so "weiter gehen", dass noch andere Dateitypen nach dem selben Schema entpackt werden.

Nach Abschluss aller Dekomprimierungsvorgänge könnte dann die "Entpackt.txt" als Basis für die Verschiebe- oder Löschaktion dienen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
06.11.2006 um 20:25 Uhr
Moin cbli,

wenn Du auf Rückmeldungen und Protokollierung verzichten kannst, dann kannst Du es mit 7za.exe so machen (bastla's Beispiel weitergeführt)

01.
... 
02.
::.... in den Tiefen Deiner Batchdatei.... 
03.
::----un7zip.bat 
04.
for %%z in ("f:\Administrator\*.zip" "f:\OtherTools\*.zip") do @( 
05.
       For %%i in (gif tif doc reg xls) do 7za e -r -y "%%z *.%%i  -od:\temp\unzipped\%%i >nul 
06.
       REM ###uncomment if real tough guy ### Del /y "%%z" 
07.
)
Dieser formatierte Oneliner würde
- die Verzeichnisse F:\Administrator und F:\OtherTools nach *.zip-Dateien durchsuchen
- in allen *.zip-Dateien nach *.gif's, *.tif's, *.doc's, *.reg's und *.xls-Dateien fahnden
- die gefundenen ohne Rückfrage in die Verzeichnisse GIF, TIF, DOC, REG, XLS unterhalb von d:\temp\unzipped schieben
- [und wenn Du die zweite Zeile entkommentierst, alle *.ZIP-Dateien nach dem Durchsuchen löschen.]

Vorteil: Du wirst nicht mit Meldungen und Rückfragen belästigt.
Nachteil: Du hast keine Ahnung, was passiert.

Wenn der Batch mal probelaufen soll mit diesem Code unten, dann würde er sagen [wenn das ">nul" nicht wär....]
01.
for %%z in ("f:\Administrator\*.zip" "f:\OtherTools\*.zip") do @( 
02.
       For %%i in (gif tif doc reg xls) do @echo 7za e -r -y "%%z *.%%i  -od:\temp\unzipped\%%i 
03.
04.
..... 
05.
7za e -r -y "f:\OtherTools\sudowin-bin-0.1.1-r95.exe.zip *.tif  -od:\temp\unzipped\tif 
06.
7za e -r -y "f:\OtherTools\sudowin-bin-0.1.1-r95.exe.zip *.doc  -od:\temp\unzipped\doc 
07.
7za e -r -y "f:\OtherTools\sudowin-bin-0.1.1-r95.exe.zip *.reg  -od:\temp\unzipped\reg 
08.
7za e -r -y "f:\OtherTools\sudowin-bin-0.1.1-r95.exe.zip *.xls  -od:\temp\unzipped\xls 
09.
7za e -r -y "f:\OtherTools\ingroup.zip *.gif  -od:\temp\unzipped\gif 
10.
7za e -r -y "f:\OtherTools\ingroup.zip *.tif  -od:\temp\unzipped\tif 
11.
7za e -r -y "f:\OtherTools\ingroup.zip *.doc  -od:\temp\unzipped\doc 
12.
7za e -r -y "f:\OtherTools\ingroup.zip *.reg  -od:\temp\unzipped\reg 
13.
.... usw. usw.
Das andere Extrem wäre, erstmal in den *.zips's zu lesen und dann Datei für Datei anzufassen bzw. zu extrahieren.

01.
REM .... auslesen aller Dateien *.gif aus einer *.zip-Datei  .... nur der Ansatz am CMD-Prompt: 
02.
(=20:20:59  D:\temp=) 
03.
>for /f "tokens=1,* delims== " %i in ('7za l -r -slt f:\Administrator\activaid.zip *.gif ^|find "Path ="') do @echo %j 
04.
extensions\Media\ac'tivAid_Eject_eject.gif 
05.
extensions\Media\ac'tivAid_KeyState.gif 
06.
extensions\Media\ac'tivAid_KeyState_CapsLock_On.gif 
07.
extensions\Media\ac'tivAid_KeyState_Lock_On.gif 
08.
extensions\Media\ac'tivAid_KeyState_mini.gif 
09.
extensions\Media\ac'tivAid_KeyState_miniCaps.gif 
10.
extensions\Media\ac'tivAid_KeyState_miniNum.gif 
11.
....
und statt "@echo %j" könntest Du natürlich auch diese Datei "%j" irgendwohin entpacken.

Gruß
Biber
[Edit]
so machen (bastla's Beispiel weitergeführt)
Gemeint war bastla's erstes Beispiel... das zweite kannte ich noch nicht *gg
[/Edit]
Bitte warten ..
Ähnliche Inhalte
Windows 7
ZIP-Datei entpacken
Frage von r00t-1337Windows 76 Kommentare

Hallo zusammen, hat jemand einen Befehl parat um mit einer .cmd-Datei eine zuvor auf c:\temp kopierte ZIP-Datei in ein ...

Batch & Shell
Script zum Entpacken von rar und zip-Dateien
gelöst Frage von windows-nutzerBatch & Shell9 Kommentare

Hallo zusammen, ich will mir gerne ein Script schreiben das mir rar und zip Dateien entpackt. Es sind mindestens ...

Windows Server
Entpackte ZIP Files neben ZIP finden und löschen
gelöst Frage von madhiasWindows Server2 Kommentare

Hallo, Ich suche auf unserem Fileserver entpackte ZIP Files, wo die ursprüngliche ZIP Datei noch vorhanden ist. Die entpackten ...

PHP
Automatisiertes entpacken einer Zip -Datei via PHP
gelöst Frage von Tamara87PHP3 Kommentare

Hallo zusammen, ich benutze seit geraumer Zeit folgendes Script zum Entpacken von ZIP Dateien, vielleicht kennt es der ein ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 1 StundeLinux7 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing13 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Microsoft Office
Outlook Cache Mode Frage
Frage von GwaihirMicrosoft Office11 Kommentare

Hallo zusammen, bin gerade neu in der Firma und lerne hier einige neue Dinge kennen. Zum Beispiel, dass die ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server11 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...