我通过OSX cron app Launch Control运行以下重命名代码。
#!bin/bash
find /Volumes/COMMON-LIC-PHOTO/ASPERA/ASPERA_STAGING -mindepth 2 -type f -print0 | xargs -0 /usr/local/bin/rename -v 's/([0-9]*)_LK/$1_standard/' \;
find /Volumes/COMMON-LIC-PHOTO/ASPERA/ASPERA_STAGING -mindepth 2 -type f -print0 | xargs -0 /usr/local/bin/rename -v 's/([0-9]*)_ALT([0-9]*)/$1_alternate$2/' \;
find /Volumes/COMMON-LIC-PHOTO/ASPERA/ASPERA_STAGING -mindepth 2 -type f -print0 | xargs -0 /usr/local/bin/rename -v 's/([0-9]*)_SWATCH/$1_swatch/' \;
只要将文件夹复制到名为ASPERA_STAGING的目录,它就会重命名某些文件。重命名有效,问题是只要文件夹开始复制到ASPERA_STAGING,脚本就会在完成复制之前重命名文件。它导致计算机混淆并重新复制文件。我尝试添加Sleep,但这是一个糟糕的解决方案 - 文件夹中可能有5-300个文件,因此复制时间会有很大差异。
在尝试重命名之前,是否有一些更复杂的东西可以强制脚本等到文件夹中的所有文件都被复制?