【问题标题】:How to zip a folder in MacOS without creating an extra directory inside the zip file如何在 MacOS 中压缩文件夹而不在 zip 文件中创建额外的目录
【发布时间】:2019-04-29 07:07:40
【问题描述】:

我从朋友那里得到一个 .zip 文件,它在 windows 下被压缩,其中包含三个子文件夹,当我在我的 Mac 终端上检查它的内容时,它看起来像这样:

现在我解压缩这个文件,然后通过终端压缩它,当我检查那个 zip 文件的内容时,它变成了这样:

我已经用谷歌搜索了如何在 mac 上压缩而不创建具有相同名称的子文件夹,但它们都没有解决问题,我的问题是如何在 Mac 上进行压缩,这使得 zip 文件看起来与我得到的初始文件完全相同. 非常感谢

新编辑: 我想我可能没有很好地总结我的问题,所以初始文件夹包含三个子文件夹,它们都是在 windows 环境中创建并在 windows 上压缩的,当我试图在我的 MacOS 机器上解压缩它时,解压缩的文件夹看起来仍然不错,但是当我在 Mac 上进行压缩然后通过 unzip -l xxxx.zip 查看 .zip 文件时,它给了我 6 个文件,其中三个子文件夹也被视为文件。据我所知,这是因为在 BSD 系统中,所有文件夹都被视为文件,但在 Windows 中它们不是,我目前正在做的是通过“zip -d”删除所有这些代表文件夹的文件,我知道这是很傻。我非常乐意从操作系统的角度与任何对此感兴趣的人讨论这个问题。提前致谢。

【问题讨论】:

    标签: macos operating-system zip


    【解决方案1】:

    对我来说,这个命令可以正常工作:

    zip -j zippedFolder.zip myFolder/*
    

    解压我用的

    unzip zippedFolder.zip
    

    我只得到了文件夹中的数据。

    示例:我要压缩的文件夹在桌面,他叫testFolder。

    1. 打开终端
    2. cd /Users/yourUser/Desktop
    3. zip -f myZip.zip testFolder/*

    【讨论】:

    • 您是否在要压缩的文件夹的父目录中?
    • 是的,哈哈。顺便说一句,我目前所做的是使用 zip 的 -d 选项手动删除该 zip 文件中所有不必要的文件,哈哈。
    【解决方案2】:

    真的迟到了,但 zip -D 对我有用。

    来自zip -h的输出:

    zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
      The default action is to add or replace zipfile entries from list...
    
      -D   do not add directory entries
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 2021-12-24
      • 2021-04-30
      • 2021-05-16
      相关资源
      最近更新 更多