1

试图编写一个脚本,让 exiftool 写出结果

echo "${PWD##*/}"

到作者元数据标签。

假设 pdf 位于 /ResearchJournal/Research1/manual1.pdf

我想使用exiftool 将Research1 附加为manual1.pdf 的作者。

当我在 /ResearchJournal/Research1 文件夹中时,我echo "${PWD##*/}"在终端中输入并得到结果Research1

但是我不知道如何正确编写 exiftool 命令。

我知道你可以使用exiftool -author=Research1,但我想编写命令,以便我可以在多个不同的文件夹上使用它,而不必每次都硬编码实际的文件夹名称。

4

2 回答 2

3

这是来自 Exiftool 论坛的示例。在您的情况下,您的命令将类似于:
exiftool '-Author<${directory;my @a=split m(/);$_=$a[-1]}' -r DIR

这将通过子目录(-r)递归,获取目录路径,根据斜杠字符将其拆分为一个数组,获取数组的最后一项,这将是 pdf 所在的目录,并将其复制到Author标签中。我还建议添加-ext pdf到命令中,因此它只会处理 PDF。

此命令不需要您 CD 进入目录。实际上,我认为如果您更改目录并使用点表示当前目录并希望处理该目录中的文件,那么您可能会遇到问题,因为它将.作为要添加到标签的目录返回。虽然如果你真的需要这样做,我想我有一个地方可以解决这个问题。

于 2016-12-19T02:17:05.177 回答
1

您可以使用以下命令进行制作:

cd /ResearchJournal/Research1
exiftool -author=${PWD##*/} *.pdf

在 sh/bash shell 中测试。

于 2016-12-18T15:40:40.313 回答