10.1整理女儿照片的时候,发现从老婆手机拍出来的照片,文件名不带拍照日期的, 这样有个问题,就是那么积累了2年的照片, 无法显眼的知道是什么时候拍的, 而且在转移照片的时候,容易把修改日期更改掉,这样就会丢失拍照的日期,对后续回忆照片的时候就不知道当时女儿多大。
如果手工修改,那么几千张照片,修改工作量实在太大,以修改一张照片需要10s, 那么1000张照片就需要2.8个小时。这样,就写了一个脚本进行批量修改。步骤如下:
1. 在电脑上面,安装cygwin, 主要是因为我对linux较为熟悉,而且linux的脚本工具比较强大
2. 撰写shell脚本, 将文件名修改为年-月-日-原来文件名.jpg
3. 将脚本放到照片目录下
4. 在cygwin下运行脚本。批量修改, 几千张照片,十几分钟就更改完了(我电脑比较慢)
shell脚本如下:
for file in `ls *.jpg`
do
date=`stat $file | awk 'NR==6' | awk '{print $2}'`
echo $file $date
mv $file $date-$file
#print $date
done
do
date=`stat $file | awk 'NR==6' | awk '{print $2}'`
echo $file $date
mv $file $date-$file
#print $date
done