当前位置: 首页 > 面试题库 >

为目录中的每个zip文件创建一个专用文件夹并提取zip文件

东方嘉佑
2023-03-14
问题内容

如果我选择一个zip文件,然后右键单击“在此处提取”,则会创建一个包含zip文件名的文件夹,并将zip文件的全部内容提取到其中。

但是,我想通过外壳转换几个zip文件。但是当我这样做

unzip filename.zip

该文件夹"filename"未创建,但所有文件都提取到当前目录中。

我看过参数,但是没有这样的参数。我也试过

for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done

但是.zip2. $ zipfile和4. $ zipfile 的扩展名必须使用sed删除。如果我做

for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done

它不起作用。

如何正确替换.zip扩展名$zipfile

有没有比shell脚本更简单的方法?


问题答案:

“在这里提取”仅是unzip您使用的任何包装器的功能。
unzip只会提取存档中的实际内容。没有比shell脚本更简单的方法了。但是sedawk如果您具有POSIX兼容的外壳程序,则不需要,等等。

for f in *.zip; do unzip -d "${f%*.zip}" "$f"; done

(您绝不能逃脱,*否则路径名扩展将不会发生。)请注意,如果ZIP归档文件包含目录(例如Eclipse归档文件(始终包含eclipse/)),则无论如何都将以结尾./eclipse*/eclipse/eclipse.ini。试运行echo前添加unzip



 类似资料:
  • 下面是我在powershell中的脚本 我有几个*.zip文件,我想解压缩到一个特定的文件夹中。问题是,7zip创建名为*.zip的子文件夹,并将文件提取到该文件夹中。 例如,我有a.zip,b.zip和c.zip文件,我想把它们解压缩到构建文件夹中。现在,在我的命令之后,它们被解压缩到: 构建/c/(这里是c.zip文件) 我希望它们都在builds/(这里是a、b、c文件)中,并带有完整的目录

  • 我试图通过在本地服务器上创建zip文件来下载a 2文件。文件是以zip格式下载的,但当我试图解压缩它时。它给出了一个错误:找不到中央目录签名的结尾。要么该文件不是zip文件,要么它构成了多部分存档的一个磁盘。在后一种情况下,中心目录和zip文件注释将在该存档的最后一个磁盘上找到。 下面的代码我使用这个: 我检查了传递到函数中的所有变量的值,都很好。所以请看这个。提前谢谢。

  • 问题内容: 我正在尝试将 文件 从 一个文件夹 保存到 另一个 文件夹 。 zip文件夹 放置在其他目录中。而且我编写了以下代码: archive.php 但是可惜我无法创建.zip文件夹。我错过了任何一步吗? 问题答案: TEST是您的项目文件夹名称。 您可以根据需要定义路径。

  • 问题内容: 我需要使用以下命令创建一个zip文件: 这可行,但是创建的zip文件会创建一个目录结构,将目录模仿为原始文件。我不需要很多额外的文件夹。 粗略浏览手册页或Google搜索时,我没有找到答案。 问题答案: 您可以使用。

  • 问题内容: 如何解压缩到内存? 我尝试(返回上): 问题答案: 提取到文件系统,因此您将无法获得所需的内容。若要提取内存中的文件,请使用方法。 如果您确实需要内存中的全部内容,则可以执行以下操作:

  • 问题内容: 我有一个动态文本文件,可以根据用户的查询从数据库中选择内容。我必须将此内容写入文本文件,并将其压缩在servlet的文件夹中。我应该怎么做? 问题答案: 看这个例子: 这将在D:named 的根目录中创建一个文件,其中将包含一个名为的单个文件。当然,你可以添加更多的zip条目,还可以指定一个子目录,如下所示: