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, 3094 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (17)

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

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...