【问题标题】:How to archive each file in a folder separately?如何分别归档文件夹中的每个文件?
【发布时间】:2021-07-24 14:05:00
【问题描述】:

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

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

【问题讨论】:

    标签: compression archive 7zip archiving


    【解决方案1】:

    我认为一个很好的方法是使用 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" 转换文件名.extension 为 filename.zip

    【讨论】:

    • 我收到File not found - "${1%.*}.zip的错误
    • 你能把你输入的命令和整个输出贴出来吗?
    • 我在我的文件夹中输入了与您编写的完全相同的代码。然后命令行说,'找不到文件 - “${1%.*}.zip”' 你也可以看到 ss. i.imgur.com/Z1jRjra.png 顺便说一句,我用 Winrar Gui 处理了它。但我想用 CLI 来做。
    猜你喜欢
    • 1970-01-01
    • 2011-02-26
    • 2013-10-18
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    相关资源
    最近更新 更多