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

Batch und 7Zip

Frage Entwicklung Batch & Shell

Mitglied: pytrelooc

pytrelooc (Level 1) - Jetzt verbinden

25.09.2012 um 11:10 Uhr, 3104 Aufrufe, 5 Kommentare

Hallo ,

ich habe folgendens Problem und hoffe mir kann jemand helfen es zu lösen: ich habe die Aufgabe in einem Ordner welcher mehrere Unterordner hat welche wiederum Unterordner haben (und so weiter) alle Ordner mit dem Namen "bios" zu finden und in diesen "bios-Ordnern" alle darin enthaltenen Dateien/Ordner usw. abgesehen von zip-Dateien einzeln zu zippen und die Ordner oder Dateien von welchen es nun eine zip-Datei gibt zu löschen.
Das alles soll in batch geschrieben werden.

Ich hoffe mir kann jemand helfen und bedanke mich schonmal dafür

Mit freundlichen Grüßen

pytrelooc
Mitglied: 60730
25.09.2012 um 11:13 Uhr
Moin,

Das alles soll in batch geschrieben werden.

dann leg mal vor und wir helfen nach...
Bitte warten ..
Mitglied: SlainteMhath
25.09.2012 um 11:24 Uhr
Moin,

3 Tipps gibts von mir gratis dazu

1. http://ss64.com/nt/
2. 7z /?
3. Hier im Forum gibt es ein gutes Batch Tutorial.

lg,
Slainte
Bitte warten ..
Mitglied: pytrelooc
25.09.2012 um 11:53 Uhr
Moinsen,

also ich bin bis jetzt soweit gekommen:
01.
setlocal 
02.
set "Startordner=U:\1__CURRENT" 
03.
for /d /r "%Startordner%" %%i in ("*bios") do "C:\Program Files\7-Zip\7z.exe" a -m0=lzma2 "%%~i.7z" "%%~i"

jedoch zippt es damit schon den Bios-Ordner und dann noch die Ordner im Bios-Ordner (welche jedoch alle zusammen in eine .zip-Datei gezippt werden und nicht jeder einzeln für sich), es soll jedoch nur die Ordner bzw Dateien im Bios-Ordner zippen und diese auch so nennen wie die gezippten Dateien/Ordner heissen die gezippt werden.
Vielleicht könnt ihr mir helfen

Grüße

pytrelooc
Bitte warten ..
Mitglied: pytrelooc
25.09.2012 um 14:46 Uhr
Huhu ,

bin nochmal weitergekommen aber kenne mich mit if abfragen nicht aus

01.
@echo off & setlocal 
02.
set "Ordner=D:\1__CURRENT\" 
03.
set "Subordner=bios" 
04.
 
05.
for /f "delims=" %%i in ('dir /s/b/ad "%Ordner%%Subordner%"') do ( 
06.
    for /d %%a in ("%%i\*") do ( 
07.
         7z a -t7z "%%i\%%~nxa.zip" "%%a\*.*" -r && rd /s/q "%%a" 
08.
09.
10.
 
wenn die Batch eine .zip-Datei findet soll sie diese überspringen und keine Fehlermeldung(welche auf Grund von rd kommt) bringen und abbrechen.
wie mache ich das ?

Grüße

pytrelooc
Bitte warten ..
Mitglied: pieh-ejdsch
25.09.2012 um 18:20 Uhr
moin pytrelooc,

die Option /Directory listet nun mal nur Ordner auf.
Wenn Du der For nicht den richtigen Ordner als Wurzel gibst wird er mit gelistet.
Der/die Ordner mit Namen Bios werden aber so aufgelistet.
for /d /r "D:\Verzeichnis\Ab hier" %i in (Bios.?) do @echo %i
Wenn Bios schon verpackt ist - gibt es in der Unterstucktur nochmal Bios?
Wenn ja warum wird nochmal Rekursiv nach den Ordnern Bios gesucht?

So wie Deine Beschreibung mit dem einzelnen Einpacken der Dateien ist, passt es nicht mit dem Code zusammen.

als Test in der CMD-Line:
01.
for /d /r "D:\Verzeichnis\Ab hier" %i in (Bios.?) do @for /f "delims=" %a in (' dir /b "%i\*" ^|findstr /veic:".7z" ') do @echo 7z a -t7z "%~a.7z" "%~a" && (echo rd /s /q "%~i" || echo del "%~i")


Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch bestimme Zeile einer vorherigen batch einfügen (3)

Frage von Frensche zum Thema Batch & Shell ...

Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
Batch kehrt zur Sprungmarke zurück, obwohl es pingen soll? (2)

Frage von Brotkasten zum Thema Batch & Shell ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (20)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...