How to create a zip file without entire directory structure

前端 未结 4 409
孤街浪徒
孤街浪徒 2021-01-04 00:58

I am trying to create a zip file and want to preserve most of the directory structure, but not the rootdir as defined from the command line. The command I\'m using is:

相关标签:
4条回答
  • 2021-01-04 01:36

    This should do it:

    cd /foo/bar/ 
    zip -r ../out.zip *
    

    The archive will be in /foo/out.zip

    0 讨论(0)
  • 2021-01-04 01:48

    If someone stumbles upon this and is not satisfied with the above solution, here follows a very simple workaround to not zip long subdirectories. It involves temporarily creating a folder in C:/, and after zipping simply deleting it:

    ZipFiles <- list.files(".../ZipFiles") # Insert your long subdirectory into .../
    
    dir.create("C:/ZipFiles")
    dir.create(".../FolderToBeZipped")
    file.copy(from = ZipFiles,to = "C:/ZipFiles")
    zip(".../FolderToBeZipped",
        files = "C:/ZipFiles")
    unlink("C:/ZipFiles",recursive = TRUE)
    

    The result then is .../FolderToBeZipped.zip/ZipFiles/

    The benefit is that you need not be within the subdirectory (or project) when executing the code.

    0 讨论(0)
  • 2021-01-04 01:54

    I don't believe zip has a way to exclude the top level directory. I think your best bet would be to do something like: pushd /foo; zip -r out.zip ./bar; popd;

    But this is exactly the sort of answer you said you didn't want.

    0 讨论(0)
  • 2021-01-04 01:58

    7z a -tzip out.zip -w foo/bar/.

    0 讨论(0)
提交回复
热议问题