Directory Opus 提供三种批量修改文件时间戳的方法:一、启用元数据写入时自动更新时间戳;二、用内置脚本调用 PowerShell 精准赋值 CreationTime 和 LastWriteTime;三、通过批量重命名添加/删除空格间接触发 LastWriteTime 更新。

如果您在使用 Directory Opus 管理文件时,需要统一调整一批文件的创建时间、修改时间或访问时间,则可通过其内置元数据机制或配合外部脚本实现。以下是几种切实可行的操作路径:
一、启用元数据写入时自动更新时间戳
Directory Opus 在保存某些类型元数据(如文件描述、评级、标签)时,默认不更改文件时间戳;但若启用对应选项,可使时间戳随元数据变更而同步更新为当前系统时间。该方法适用于对文本、PDF、TXT 等不支持内嵌元数据的格式批量“触发”日期变更。
1、点击菜单栏 Preferences > Metadata 打开元数据设置面板。
2、勾选 “设定文件中的元数据时更新文件日期” 选项(适用于 MP3、JPG 等支持 ID3/EXIF 的格式)。
3、同时勾选 “在NTFS ADS 中设置元数据时更新文件日期”(适用于所有 Windows NTFS 分区上的文件,包括 DOCX、TXT、ZIP 等)。
4、点击 OK 保存设置后,任意选中目标文件,在右键菜单中选择 Properties > Tags,仅点击 Apply(无需实际修改内容),即可批量刷新时间戳。
二、使用内置脚本功能执行 PowerShell 时间赋值
Directory Opus 支持运行外部命令与脚本,可调用 PowerShell 直接写入 CreationTime 和 LastWriteTime 属性。此方式完全绕过元数据机制,精准控制年月日时分秒,且不影响文件内容完整性。
1、在 Opus 中新建一个按钮或快捷键,绑定操作类型为 “Run program”。
2、程序路径填写:powershell.exe;参数字段填入以下代码(已适配中文路径及空格):
-Command "& { $files = Get-ChildItem -LiteralPath "%*"; $newTime = [datetime]"2024-01-01 12:00:00"; $files | ForEach-Object { $_.CreationTime = $newTime; $_.LastWriteTime = $newTime; $_ | Set-Item } }"
3、将 "2024-01-01 12:00:00" 替换为您所需的具体时间字符串。
4、选中文件后点击该按钮,PowerShell 将以管理员权限静默执行,完成时间属性批量覆盖。
三、借助“批量重命名”工具栏间接触发时间更新
Directory Opus 的“批量重命名”功能虽不直接提供时间字段编辑,但可通过添加无实质影响的重命名规则(如追加空格再删除),强制触发文件系统写入行为,从而联动更新 LastWriteTime。此法无需脚本或权限提升,适合轻量级场景。
1、选中待处理文件,在工具栏点击 “Rename” 按钮打开批量重命名窗口。
2、在 “New name” 区域输入:"{name} "(注意末尾有一个空格)。
3、勾选 “Preview changes” 确认预览效果无误。
4、点击 “Rename” 执行;完成后再次打开重命名窗口,输入:"{name}"(无空格),重新执行一次——两次操作将导致每个文件的 LastWriteTime 至少更新两次。












