使用脚本更改文件名的日期方案

使用脚本更改文件名的日期方案

我在服务器上保存了大约 8 年的视频文件,用于工作。为了便于组织,我们想将文件的日期格式从 MMDDYY 改为 YYMMDD。文件名结构为 MMDDYY_Filename.xxx。最好的方法是什么?我正在考虑使用自动程序/applescript 工作流程重新排列文件名的前 6 个字符,以使其正常工作,但我不知道如何实现。有什么想法吗?

答案1

在我看来,最简单的方法是使用 Automator(带有 Applescript)去掉前 6 个或 8 个字符(取决于您现有的日期格式:“131016”或“20131016”)...然后运行重命名 Finder 项目工作流程,如下所示:

Automator 工作流程:

(运行 Applescript)

运行 {输入,参数}

tell application "Finder"
    repeat with f in (choose file with multiple selections allowed)
        set name of f to text 6 thru -1 of (get name of f)
    end repeat
end tell
return input

结束运行

(重命名 Finder 项目 - - 使用以下参数添加日期或时间:)

日期/时间:创建格式:年月日其中:名称之前分隔符:无分隔符:下划线

(例如:20131016+_商品名称.xxx)

如果您不想在开头使用“20”,则运行另一个类似上述的 Applescript 来再次删去前两个字符,因为此 Automator 项目会自动添加“20”。

从这里获取原始脚本:

https://apple.stackexchange.com/questions/20134/how-can-i-trim-the-first-3-characters-in-file-name-with-applescript

答案2

如果所有文件都在同一个目录中,您可以在终端中运行以下命令:

cd directory; for f in *; do mv "$f" "${f:4:2}${f:0:4}${f:6}"; done

如果文件位于不同的目录中:

find directory -name \*.xxx | while read f; do
  f2=${f##*/}
  mv "$f" "${f%/*}/${f2:4:2}${f2:0:4}${f2:6}"
done

相关内容