微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何分别归档文件夹中的每个文件?

如何解决如何分别归档文件夹中的每个文件?

我在一个文件夹中有很多文件。如果我只有一个文件7z a -t7z archive1.zip -mx0 可以正常工作。但是我的文件是file1,file2 ...我想像archive1.zip,archive2.zip一样单独存档这些文件...

注意:文件名是随机的,存档名称不一定是像archive2、archive3这样的常规名称。所有我想要的档案名称必须与文件名平行。例如screenshot.jpg > screenshot.zip,book.pdf > book.zip

解决方法

我认为这样做的一个好方法是使用 find :

find . -maxdepth 1 -type f -not -name "*.zip" -exec sh -c '7z a -t7z "${1%.*}.zip" -mx0 {}' sh {} \;

-maxdepth 1 用于不进入子目录
-not -name "*.zip" 用于排除档案
-exec sh -c '' sh {} 只是为了能够从文件名中去除扩展名
"${1%.*}.zip" 将 filename.extension 转换为 filename.zip

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。