更新所有 zip 文件

更新所有 zip 文件

我有几百个 zip 文件,我想给它们添加描述文件。我希望描述文件中的描述是文件的名称,不带扩展名。

文件名示例:

文件名_一.zip 文件名_二.zip 文件名_三.zip

示例描述文件:description.txt

最终结果:我想将描述文件(例如:description.txt)添加到每个 zip 档案中,请注意每个 description.txt 文件的内容对于每个文件来说都是不同的。

示例结果:每个 zip 里面都有 description.txt

有人可以帮我完成这个吗?

我使用的是 ubuntu linux,所以 bash 脚本对我来说更合适,但如果这对你来说更方便,批处理文件也是可以的。我不介意你如何获得它,只要你能获得它就行。

答案1

你可以做这样的事情:

❯ ls
test.zip
❯ unzip -l test.zip
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2021-10-29 15:35   test/
      186  2021-10-29 15:35   test/HTML File.html
     3021  2021-10-29 15:35   test/Illustration Document.odg
     5089  2021-10-29 15:35   test/Presentation Document.odp
     5089  2021-10-29 15:35   test/Presentation Document (1).odp
     6301  2021-10-29 15:35   test/Spread Sheet Document.ods
     4263  2021-10-29 15:35   test/Text Document.odt
---------                     -------
    23949                     7 files
❯ mkdir test
❯ echo "add your description" > test/desc.txt
❯ zip -ur test.zip test
updating: test/ (stored 0%)
  adding: test/desc.txt (stored 0%)
❯ unzip -l test.zip
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2021-10-29 15:37   test/
      186  2021-10-29 15:35   test/HTML File.html
     3021  2021-10-29 15:35   test/Illustration Document.odg
     5089  2021-10-29 15:35   test/Presentation Document.odp
     5089  2021-10-29 15:35   test/Presentation Document (1).odp
     6301  2021-10-29 15:35   test/Spread Sheet Document.ods
     4263  2021-10-29 15:35   test/Text Document.odt
       28  2021-10-29 15:37   test/desc.txt
---------                     -------
    23977                     8 files

在 bashscript 中

mkdir -p test
echo -n "Enter contents of desc file: " 
read content && echo "$content" > test/description.txt
zip -ur existing.zip test

相关内容