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

Inhalt von Unterverzeichnissen Zippen

Frage Entwicklung Batch & Shell

Mitglied: Schoenborn

Schoenborn (Level 1) - Jetzt verbinden

25.06.2007, aktualisiert 27.06.2007, 3929 Aufrufe, 9 Kommentare

Guten Tag,

ich hätte meinen ersten Beitrag im Forum gerne anders gestaltet,
aber okay, muss es eben eine Frage sein


Ich zerbrösel mir den Kopf über ein Problem, welches eigentlich ganz simpel ist.


Gehe in alle Unterverzeichnisse ausgehend von Pfad C:X,
zippe den Inhalt eines jeden Unterverzeichnisses, lege es dort ab
und lösche anschließend den Inhalt, außer natürlich dem erstellten Zipfile.


Das ist alles.

Die Unterverzeichnisse liegen "eigentlich" alle in einer Tiefe von 3

.Verzeichniss
.|_Unterverzeichnis A
....|_Unterverzeichniss AA
.......*Datei1
.......*Datei2
....|_Unterverzeichniss AB
.......*Datei.1
.......*Datei.2
.|_Unterverzeichnis B
....|_Unterverzeichniss BA
.......*Datei1
.......*Datei2
....|_Unterverzeichniss BB
.......*Datei.1
.......*Datei.2
usw....


Datei1 und 2 sollen gezippt werden und als Namen Unterverzeichniss XX bekommen.

Die Verzeichnis-Namensgebung ist nicht fortlaufend, es gibt mehrere Ausreißer.



Also angefangen zu schreiben, Probleme gehabt.

So habe ich 7zip, Winrar usw hergenommen, ob sie möglicherweise
eine solche Funktion voreingebaut liefern, nix gefunden.
Dann also batch-files gesucht, nix vergleichbares gefunden.

Weitergeschrieben, Probleme sind die Unterverzeichnisse


Eine Idee wäre eine For-Schleife klar...

Aber dabei stellt sich die Frage wie man in die Unterverzeichnisse kommt,

ich habe eine Verzeichnisliste erstellt und wollte nun die ersten rauswerfen
und dann jede Zeile an 7Zip übergeben, bzw in das verzeichnis in der Liste gehen
und 7zip ausführen um dann zum nächsten Listenpunkt zu kommen

aber wie so oft... wie soll ich die Abbruchbedingung formulieren ?
Listenzeilen zählen, für jeden Zeile bis zum Ende ?


ich überlege und teste, aber alzuoft landen die zips im Grundverzeichniss


Gibt es Tipps von den Alten Hasen ?

Und es ist doch kein absonderliches Problem, Oder ?!
Mitglied: miniversum
25.06.2007 um 16:54 Uhr
Das mit dem for stimmt schon.
mit
for /F "tokens=4 delims=\" %%a in ('dir /s /b') do echo %%a
bekommst du ja jedes dritte Unterverzeichnis angezeigt.

vielleicht hilft das.

miniversum
Bitte warten ..
Mitglied: Schoenborn
25.06.2007 um 17:06 Uhr
Aber doch auch die Dateien ?!?

for /F "tokens=4 delims=\" %%a in ('dir /s /b') do echo %%a

auf

H:\Test>tree
H:.
????1
? ????11
????2
????3

angewendet, führt zu


H:\Test>echo 1.txt
1.txt
H:\Test>echo 11
11
H:\Test>echo 11
11
H:\Test>echo 2.txt
2.txt
H:\Test>echo 3.txt
3.txt

?!!?
Bitte warten ..
Mitglied: miniversum
25.06.2007 um 17:32 Uhr
ändere es mal so:
for /F "tokens=4 delims=\" %%a in ('dir /s /b /aD') do echo %%a

und vielleicht hilft noch das:
for /F "tokens=1,2,3,4 delims=\" %%a in ('dir /s /b /aD') do for /F "delims=" %%x in ('dir /b /a-D "%%a\%%b\%%c"') do echo %%a\%%b\%%c\%%x

miniversum
Bitte warten ..
Mitglied: Schoenborn
25.06.2007 um 18:21 Uhr
Also, hmmm... spuckt das aus:

H:\Test\1\1b.txt
H:\Test\1\1a.txt
H:\Test\1\1b.txt
H:\Test\2\2a.txt
H:\Test\2\2b.txt
H:\Test\3\3a.txt
H:\Test\3\3b.txt
H:\Test\1\1a.txt
H:\Test\1\1b.txt

abgesehen davon, dass es Duppleten gibt
wie soll ich da nun mein zippen unterbringen.

Ich muss ja alle Dateien im Unterverzeichnis übergeben können,
oder eben in das Unterverzeichniss gehen und dort alle zippen
um dann entweder ins nächste zu gehen, oder eben wieder zurück
zum grundverzeichnis um nächsten pfad zu suchen....
Bitte warten ..
Mitglied: miniversum
25.06.2007 um 18:34 Uhr
Das sind doch die Dateien die du willst, oder?
also mit zip wär das dann so (teste es aber erstmal an Dateien die du nicht brauchst):
01.
@echo off 
02.
for /F "tokens=1,2,3,4 delims=\" %%a in ('dir /s /b /aD') do ( 
03.
for /F "delims=" %%x in ('dir /b /a-D "%%a\%%b\%%c\%%d"') do ( 
04.
zip.exe /parameter "%%a\%%b\%%c\%%d\%%x" "%%a\%%b\%%c\%%d.zip" 
05.
del "%%a\%%b\%%c\%%d\%%x" 
06.
07.
)
In der Zeile wo zip.exe steht must du halt den richtigen Aufruf für das Zipprogramm einbauen das du verwendest. Das kann ich dir nicht so ausm Stehgreif sagen.
Bitte warten ..
Mitglied: bastla
25.06.2007 um 19:44 Uhr
Hallo Schoenborn und miniversum!

Unter der Voraussetzung, dass das ZIP-Programm einen vernünftigen Errorlevel liefert, würde es vielleicht besser so aussehen:
01.
@echo off 
02.
for /F "tokens=1,2,3,4 delims=\" %%a in ('dir /s /b /aD') do ( 
03.
for /F "delims=" %%x in ('dir /b /a-D "%%a\%%b\%%c\%%d"') do ( 
04.
if /i "%%x" neq "%%d.zip" zip.exe a /parameter "%%a\%%b\%%c\%%d\%%d.zip" "%%a\%%b\%%c\%%d\%%x" && del "%%a\%%b\%%c\%%d\%%x" 
05.
06.
)
Abgesehen davon könnte das ZIP-Programm hoffentlich mit einem "move"-Befehl selbst dafür sorgen, dass die Dateien gelöscht werden ("rar.exe" etwa kann das mit "mf").

Grüße
bastla

[Edit] Sicherheitsabfrage für "%%d.zip" hinzugefügt - damit auch ev späteres Updaten möglich. [/Edit]
Bitte warten ..
Mitglied: Biber
27.06.2007 um 08:18 Uhr
Moin Schoenborn,

Nachfrage: Wie ist denn der gefühlte Status dieses Beitrags?

Grüße
Biber
Bitte warten ..
Mitglied: Schoenborn
27.06.2007 um 10:56 Uhr
Also ich habe das Script angepasst und es läuft.

Die Pfadtiefe ist zwar fest, aber ich überlege noch wie man
das ändern kann, über den Weg ist es jedenfalls sehr funktionabel.


Leider ist ein gescheites Update der Dateien mit Zip nicht möglich,
7z ist da deutlich schneller, but it doesn't matter : )


Vielen Dank für die Hilfe




[Edit: Rechtschreibung ^^]
Bitte warten ..
Mitglied: Biber
27.06.2007 um 13:42 Uhr
Danke, Schoenborn,

für die Rückmeldung und auch für das "[Edit: Rechtschreibung ^^]" *gg

Ich setze den Beitrag auf "Gelöst" und "Geschlossen".
Sollte von Deiner Seite noch etwas nachtröpfeln an Folgefragen, bitte PN an mich.

Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Namensvergleich von Unterverzeichnisse
gelöst Frage von BlattlausOGBatch & Shell20 Kommentare

Hallo allerseits, ich bin neu in diesem Forum und möchte an erster Stelle alle recht herzlich Grüßen :) Ein ...

Batch & Shell
Logfiles zippen, verschieben, löschen
gelöst Frage von tomscorerBatch & Shell6 Kommentare

Hallo liebe Community. Ich habe mich nun schon etwas im Forum umgesehen, aber irgendwie funktioniert mein Batch nicht so ...

Batch & Shell
Automatisch dateien die sich in einem Ordner befinden, zippen
Frage von cdm1970Batch & Shell6 Kommentare

Hallo, ich habe folgende Frage: Ich habe in mehrere Ordner sehr viele .html Dateien für unsere Online Shop. Ich ...

PHP
PHP-Script um Online zu zippen
Frage von sbsnewbiePHP3 Kommentare

Hallo Admins, folgende Frage, die bestimmt easy ist, bei der ich aber gerade ein Brett vor dem Kopf habe: ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser7 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 3 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...