Zip isi folder tanpa menyertakan folder itu sendiri


78

Saya memiliki direktori bernama folderyang terlihat seperti ini:

folder
      -> root_folder
                    -> some files

Saya ingin memasukkan direktori ini ke dalam zipped_dir, saya mencoba:

zip -r zipped_dir.zip folder/*

Tapi ini menghasilkan ZIP yang terlihat seperti ini:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

dengan kata lain, ini termasuk direktori yang isinya ingin saya zip. Bagaimana saya bisa mengecualikan direktori induk ini dari ZIP, tanpa memindahkan apa pun?

Yaitu saya ingin hasil akhir ini:

zipped_dir
          -> root_folder
                        -> some files

Jawaban:


75

Coba gunakan perintah ini (Anda akan mendapatkan ide)

cd folder; zip -r ../zipped_dir.zip *

Mungkin ada cara lain, tapi ini yang tercepat dan paling sederhana untuk saya :)


2
ini berfungsi dengan baik melakukan trik itu. Catatan: itu akan melakukan chroot .
loretoparisi

setara:zip -r zipped_dir.zip folder/*
Tobias Kolb

5
@TobiasKolb, mungkin Anda tidak membaca pertanyaannya. OP tidak ingin memiliki folder di jalur tersimpan di zip.
Romeo Ninov

2
Tampaknya satu-satunya cara untuk melakukannya
Robert

1
@PabloDiaz, dalam contoh saya cd -akan melakukan pekerjaan (hanya satu perintah) :) Ataucd ..
Romeo Ninov

30

Gunakan -j; sebagai contoh:zip -r -j zipped_dir.zip folder/*

Itu tidak akan zip 'root_folder'.


7
Saya mendapatkan kesalahan dengan yang satu ini jika saya memiliki dua file dengan nama yang sama.
Chris

11
OP mungkin hanya menginginkan direktori induknya dihapus, tidak semuanya.
tokland

Masih membuat direktori zip -r -j package.zip ./dist/static/*membuat struktur arsipdist/static/myfiels
deathangel908

4
itu meratakan file direktori anak juga.
Sumit Ramteke

3
yang -jpilihan menghilangkan semua info direktori dan hanya menyimpan file. Yaitu, untuk menyimpan semua file di bawah satu direktori dengan cara "datar".
Robert

5
zip -r -D zipped.zip *

-D menginstruksikan zip untuk tidak membuat direktori.


0

Inilah yang bekerja untuk saya:

7z a zipped.zip ./rootDir/*

Ini akan membuat ziparsip dengan root: semua file / direktori di dalamnya rootDir.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.