嗨,朋友们,我可以使用脚本当前运行的目录中的文件创建一个 zip 文件,现在我想从各个目录创建 zip 文件,有人可以帮助我吗?我的代码是;
use IO::Compress::Zip qw(:all);
zip [ glob("inventory_report_for_neus.xls") ] => "my.zip"
or die "Cannot create zip file: $ZipError" ;
Run Code Online (Sandbox Code Playgroud)
这将生成包含特定文件的 zip 文件,但是
use IO::Compress::Zip qw(:all);
zip [ glob("..\\inventory_report_for_neus.xls") ] => "my.zip"
or die "Cannot create zip file: $ZipError" ;
Run Code Online (Sandbox Code Playgroud)
这也是生成zip文件,但里面没有文件!
小智 5
更新
IO::Compress::Zip根据当前目录中文件的原始位置创建具有分层结构的 zip 文件。
但是,这样做的结果是它无法正确处理当前工作目录之外的文件。
最简单的解决方案可能是在压缩之前将目录更改为父目录。如果这不是一个选项,请在压缩之前将文件复制到临时位置,或者可能使用IO::Compress::Zip更高级的功能,例如从文件句柄写入 zip 文件。
| 归档时间: |
|
| 查看次数: |
11429 次 |
| 最近记录: |