我有几百个 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