合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 使用元数据重命名 你可以使用元数据(关于文件的信息)通过在新名称字段中使用各种元数据插入代码来构建新文件名称。 ![](/Manual/images/media/13/renaming_with_metadata.png) 在此示例中,MP3 文件的原始名称并未提供关于其内容的信息(*01.mp3*、*02.mp3* 等)。幸运的是,MP3 文件通常包含描述音乐的元数据。我们不仅使用此元数据重命名文件,还使用它将音乐整理到文件夹中。 单击 **新名称** 字段左侧的下拉按钮以显示 Opus 支持的所有元数据字段的列表。 ![](/Manual/images/media/13/rename_metadata_menu.png) 这些字段与你可以作为列添加到文件列表中的字段相同。当你从此菜单中选择一个列(或菜单底部的特殊、仅重命名选项)时,将自动在当前光标位置向新名称字段中插入适当的代码。 在上述示例中,我们使用了四个与音乐相关的字段: - `{mp3artist}` 以获取艺术家的名字(*Nick Cave and the Bad Seeds*)。 - `{mp3album}` 表示专辑名称(*Abattoir Blues* - 我应该补充一句,这是张很棒的专辑)。 - `{mp3track}` 表示专辑中的曲目编号。 - `{mp3title}` 表示歌曲的实际名称。 我们在这些字段之间插入的反斜杠同时具有移动文件(相对于当前文件夹)以及重命名它的效果。如果没有,则自动创建子文件夹。 [列关键字](/Manual/reference/metadata_keywords/keywords_for_columns.zh.md) 页面包含 **重命名** 功能可以使用的关键字的完整列表。 ### 重命令的其它代码 除了全部列列表之外,还可以使用以下代码添加到 **新名称** 字段中: - `[#]`: 标记在文件名中插入自动递增数字的位置(当 **编号** 操作打开时)。 - `{parent}`: 要重命名的文件的父文件夹的名称。**重命名选定子文件夹中的文件** 选项影响了 `{parent}` 返回的名称 - 如果重命名操作递归进入子文件夹,则 `{parent}` 将返回该子文件夹中文件相对于该子文件夹的名称。 - `{parent2}`: 第二级父文件夹(即父文件夹的父文件夹) - `{parent3}`: 第三级父文件夹,依此类推。 - `{parentbase}`(基础文件夹):此代码类似于 `{parent}`, 主要区别在于它返回基础文件夹而不是文件的父文件夹的名称 - 即,重命名操作开始的文件夹。在递归重命名中,使用此代码最有用,因为在 `{parent}` 返回的名称将会针对子文件夹中的文件发生变化。 - `{parentbase2}`: 基础文件夹的父文件夹,依此类推。 - `{date}` 或 `{time}`: 本地时区的当前日期或时间。 - `{dateu}` 或 `{timeu}`: UTC 中的当前日期或时间。 - `{= ... =}`: 插入 [求值器表达式](/Manual/evaluator/applicable_contexts/rename.zh.md) 。 `{parent}` 和 `{parentbase}` 代码还可以从父级名称中删除文件扩展名,如果父文件夹是压缩包文件,通常会删除文件扩展名。若要执行此操作,请将 `|noext` 添加到该代码(例如:`{parentbase|noext}`). 如果你想使用重命名将文件移动到新文件夹,则在新的名称开头添加 `$.\` 可以让每个文件相对于基础文件夹而不是其父文件夹进行移动。 原始文件名可以使用 `{name|noext}` 在没有文件扩展名的前提下检索。 ### 合法文件名 有时,元数据可能包含文件名中无效的字符。例如,**{time}** 字段通常使用冒号格式化时间(*HH:MM:SS*),而冒号不是合法的文件名字符。默认情况下,非法字符将转换为最接近的合法替代项(例如,冒号将转换为分号)。但是,你可能希望自己控制这个过程: ### 日期和时间字段 使用日期和时间字段,你可以配置日期格式、时间格式或两者的格式。例如, - `{datetaken|D#yyyy-MM-dd}`: 仅插入 **yyyy-MM-dd** 格式的日期(例如 *2008-09-22*) - `{modified|T#HH-mm-ss}`: 以 **HH-mm-ss** 格式插入修改时间(例如 *13:10:55*) - `{datetaken|D#yyyyMMddT#HHmmss}`: 将日期和时间都插入为 **yyyyMMddHHmmss**(例如 *20051130154410*)。 如示例中所示,`D#` 用于标记日期格式,`T#` 用于标记时间格式。有关日期和时间格式的信息,请参阅 [日期和时间代码](/Manual/reference/command_reference/external_control_codes/codes_for_date_and_time.zh.md) 页面。 ### 数字字段 使用数字字段,你可以控制零填充。例如, - `{size|#8}`: 将字节大小零填充到 8 位(例如 *00045412*) - `{mp3track|#2}`: 将曲目号零填充到 2 位(例如 *08*) ### 包括文本元数据代码 如果你出于某种原因想以文本形式在新的文件名中包含元数据代码(例如,你真的想将文件命名为 *Blah{size}*),可以使用另一个 `{` 字符来转义前导 `{`。例如,`*{{size}` 作为新文件名将向每个文件名称中添加文本字符串 `{size}`。