栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在管道上的命令行中创建zip时,如何指定其文件名?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在管道上的命令行中创建zip时,如何指定其文件名?

从我可以收集到的信息来看,您不能同时使用该

zip
命令,这意味着您既不能指定文件名也不能通过管道传递内容。您可以通过管道传输内容,结果文件为
-
,也可以通过管道传输文件名
-@

这并不意味着使用其他技术是不可能的。我概述了以下内容之一。这确实意味着您必须安装PHP并加载zip扩展。

可能还有很多其他方式可以做到这一点。但这是我所知道的最简单的方法。哦,那也是单线的。

这是使用PHP的有效示例

echo contents | php -r '$z = new ZipArchive();$z->open($argv[1],ZipArchive::CREATE);$z->addFromString($argv[2],file_get_contents("php://stdin"));$z->close();' test.zip testfile

要在Windows上运行,只需交换单引号和双引号。或者只是将脚本放在文件中。

“ test.zip”是生成的Zip文件,“ testfile”是正在传递到命令中的内容的名称。

结果来自

unzip -l test.zip

Archive:  test.zip  Length      Date    Time    Name---------  ---------- -----   ----        6  01-07-2010 12:56   testfile---------          -------        6          1 file

这是一个使用python的工作示例

echo contents | python -c "import sysimport zipfilez = zipfile.ZipFile(sys.argv[1],'w')z.writestr(sys.argv[2],sys.stdin.read())z.close()" test5.zip testfile2

的结果

unzip -l

Archive:  test5.zip  Length     Date   Time    Name --------    ----   ----    ----        9  01-07-10 13:43   testfile2 --------        -------        9        1 file

的结果

unzip -p

contents


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号