【发布时间】:2022-06-11 03:23:10
【问题描述】:
我尝试使用自动机重命名多个文件
我已经走到这一步了:
第一个变量必须在 Exiftool 命令行中
在这种情况下,我选择了 2 个文件,但可能是 1 个或 100 个文件
我该如何做到这一点?文件名是否可以从数组键 1 而不是数组键 0 开始?
【问题讨论】:
-
如果您询问如何转换参数,您可以使用
shift,但请注意名称和路径应加引号或shell 特殊字符(如空格)转义。跨度>
我尝试使用自动机重命名多个文件
我已经走到这一步了:
第一个变量必须在 Exiftool 命令行中
在这种情况下,我选择了 2 个文件,但可能是 1 个或 100 个文件
我该如何做到这一点?文件名是否可以从数组键 1 而不是数组键 0 开始?
【问题讨论】:
shift,但请注意名称和路径应加引号或shell 特殊字符(如空格)转义。跨度>
执行此操作的标准方法是将$1 存储在变量中,然后使用shift 将其从参数列表中删除,然后使用"$@" 获取所有剩余参数(即原始@ 987654324@) 是这样的:
RenameTo="$1"
shift
echo "New name: $RenameTo"
echo "files:" "$@"
我不确定你到底想用 exiftool 做什么,所以我不会尝试给出完整的命令。
请注意,双引号在 zsh 中不是必需的,但它们可以将其移植到符合 POSIX 的 shell。此外,echo 不是查看命令将做什么的好方法,因为它失去了参数 within 空格之间的区别(例如,新名称中的空格或文件名中的空格)和空格 在 参数之间(例如,在它们列表中的文件名之间)。
【讨论】: