Czołem! Mam pewien problem, a mianowicie: muszę spakować zbiorczy folder oraz jego podfoldery tak, aby efektem wyjściowym były archiwa każdego podfolderu. Sprawa jest trochę zagmatwana, więc może przedstawię to w nieco inny sposób. Posiadam folder, w którym jest ponad 800 podfolderów, a z pewnych przyczyn muszę każdy ten podfolder spakować (najlepiej do .zip). Jak widać, liczba podfolderów jest naprawdę duża, a ręczne pakowanie każdego prawdopodobnie skończyłoby się moją przedwczesną śmiercią, więc musi być jakiś sposób, aby to zrobić łatwiej To jak, da się zrobić to w kilku kliknięciach myszą? Na platformie Linux bądź Windows.
Windowsowa linia poleceń:
FOR /D %F IN ("*") DO (
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx9 -r -y "%F.7z" "%F"
)
Uruchamiasz będąc w folderze gdzie masz 800 podfolderów.
Oczywiście musisz mieć (w tym przypadku) program 7-Zip (darmowy). http://www.dobreprogramy.pl/7Zip,Program,Windows,12559.html
Dzięki, właśnie o to mi chodziło! Przy okazji, zobaczyłem wyższość Linuxowej konsoli nad cmd Microsoftu, fuj
To jest oczywiste, że linuksowy shell bije na głowę wszystko to, co wymyślił do tej pory Microsoft.
Dlatego warto (nie tylko w powyższego powodu) mieć na swoim komputerze z Windows wirtualną maszynę z jakimś Linuksem.
Jesteś wielki, też mi zależało na 7zipie, ale jeśli ktoś nie ma takich wymagań chyba prościej zrobić to w Total Commanderze: zaznaczasz katalogi lub pliki, dajesz Alt + F5, zaznaczasz “utwórz oddzielne archiwa…”
Dzięki. Ale jak takie operacje robisz często/regularnie, to warto przygotować sobie skrypt (batch) wykonujący automatycznie tę “czarną robotę”.
Pablo_Wawa @Pablo_Wawa Pablo_Wawa
Mam problem. Kod zadziałał, ale musiałem zamienić w kodzie % na %%. Moja sytuacja jest nie co trudniejsza. Mam folder > w nim 800 folderów (różne nazwy) > w każdym z tych folderów jest jeden folder - który właśnie te foldery chce spakować.
Dokładnie
Folder>
Folder Romek > Folder Styczen
Folder Tomek > Folder Styczen
Folder Dawid > Folder Styczen
itd
Chciałbym nie foldery romek,tomek,dawid spakować jak w kodzie powyżej, tylko spakować wszystkie foldery “Styczen”. Czyli jeszcze ten jeden wewnętrzny folder. Czy ktoś wie jak zmienić kod, żeby spakowało wszystkie te foldery wewnętrzne “Styczen”?