将 "Touch -r" 用于带有自动程序的多个文件

Use "Touch -r" for several files with automator

我用"MacOS X Yosemite (10.10.4)"

我已经使用 QuickTime 将视频 mts 文件转换为 mov 文件,但创建的新文件不保留原始创建日期。

fileA.mts --> Creation Date: 07/02/2010 10:51

fileA_converted.mov --> Creation Date: Today 8:35

我想更改几个文件的创建日期属性,使用原始文件的日期。我知道我可以通过使用终端 "Touch" 命令来做到这一点:

touch -r fileA.mts fileA_converted.mov

touch -r fileB.mts fileB_converted.mov

因为我有 200 多个文件要更改创建日期,是否可以使用自动化脚本 Shell 操作或任何其他方式自动执行此操作?

当所有原始文件和转换后的文件都在同一文件夹中时,执行以下命令

ls | grep ".mts" | awk -F. '{print [=10=]" ""_converted.mov"}' |  xargs touch -r

当我们在存在 .mts 文件的路径下的命令下有不同的文件夹 运行 时,在 $1 之前添加绝对路径,就像我添加 /home/convertedfiles/

ls | grep ".mts" | awk -F. '{print [=11=]" /home/convertedfiles/""_converted.mov"}' |  xargs touch -r

bash shell 中的这样 - 这就是您在 Terminal 中得到的(未测试):

#!/bin/bash
for orig in *.mts; do 
   # Generate new name from old one
   new="${orig/.mts/_converted.mov}"
   echo touch -r "$orig" "$new"
done

将以上内容保存在一个名为 doDates 的文件中,然后在终端中输入

chmod +x doDates          # make the script executable
./doDates                 # run the script

示例输出

touch -r Freddy Frog.mts Freddy Frog_converted.mov
touch -r fileA.mts fileA_converted.mov

目前它什么都不做,但是运行它,看看你是否喜欢它说的,然后删除单词echo和运行如果一切正常的话.