2010-01-16

File rename

#!/usr/bin/tclsh
#
# Rename script
#

puts "########## Start ##########"

if {$argc >= 1} {
cd [lindex $argv 0]
} elseif {$argc == 0} {
cd "c:/tmp"
}

set today [clock format [clock seconds] -format %Y%m%d]

foreach filename [glob *.jpg] {
regsub -all {\mIMG} $filename $today newFileName

file rename $filename $newFileName
}

puts "########## End ##########"

exit
會寫這個 script,是因為我的數位相機照完相以後,會是 IMG_0001.JPG, IMG_0002.JPG 這樣編號,而我習慣用日期來整理,所以要把檔名改為 20100116_0001.JPG 這種形式,而自己手動改有點浪費時間,所以寫一個改檔名的 script 來做這件事情。

使用了 glob 來列出所有 *.JPG 的檔案,再來把檔名前半部的 IMG 換成今天的日期,最後改檔名,應該就完成任務了。

沒有留言: