« もし高校野球の女子マネージャーがドラッカーの『マネジメント』を読んだら | トップページ | [Preview]PDFのファイルサイズを小さくする »

画像ファイル名をリネームする

こんな感じのファイルを
Website_image00280709_143437

こんな感じにリネームします
Website_image00280709_143451

(*
画像ファイル名をリネームする
簡易版

x縦 解像度 カラー を付加します


*)

---■■■■ ダブルクリックの始まり
on run
---プロンプトの文言改行が使えます\nを入れます
set theWithPrompt to "画像ファイルをリネームします"
---ファイル選択ダイアログのデフォルトのディレクトリ
set theDownloadsFolderPath to path to downloads folder from user domain
---Uniform Type Identifier指定
---詳しくは http://goo.gl/6jAQa Uniform Type Identifier
set theFileType to "public.image,com.adobe.pdf,com.adobe.photoshop-image" as text
---のファイルタイプをリスト形式に整形する
set AppleScript's text item delimiters to {","}
set theFileTypeList to every text item of theFileType
---ダイアログを出して選択されたファイルは「open」に渡す
open (choose file default location theDownloadsFolderPath ¬
with prompt theWithPrompt ¬
of type theFileTypeList ¬
invisibles true ¬
with multiple selections allowed without showing package contents)
end run


---■■■■ openドロップの始まり
on open DropObj

set theSepDe to "_"

tell application "Finder"
---■■■■ 繰り返しの始まり
repeat with ObjFiles in DropObj
---オブジェクトのエイリアスを取得
set theAlias to ObjFiles as alias
---オブジェクトの情報を取得
set theFileInfo to info for ObjFiles as alias
---ファイルパスをUNIX形式で取得
set theOrgMoviePath to POSIX path of ObjFiles as text
---エイリアス形式をテキストに変換
set theAliasPath to theAlias as text
---ファイル名を取得
set theName to (name of theFileInfo) as text
---拡張子を取得
set theNameExtension to (name extension of theFileInfo) as text
---エイリアスパスからファイル名を引いてディレクトリを取得
set theDirName to my doReplace(theAliasPath, theName, "") as text
---ディレクトリをUNIXパス形式に
set theDirPath to POSIX path of theDirName as text
---初期化
set theColorSpace to ""
set numImgWidthRes to ""
set numImgHeightRes to ""
set numImgWidth to ""
set numImgHeight to ""
set theFileType to ""
---
tell application "Image Events"
launch
set objImg to open theAlias

tell objImg
properties
end tell


-------カラーモード取得
try
set theColorSpace to (color space of objImg) as text
end try
-------解像度取得
try
set {numImgWidthRes, numImgHeightRes} to resolution of objImg as list
set numImgWidthRes to (numImgWidthRes as integer) as text
set numImgHeightRes to (numImgHeightRes as integer) as text
if numImgWidthRes is not numImgHeightRes then
return "正方形ピクセルではありません"
end if
end try
-------画像の高さと幅を取得
try
set {numImgWidth, numImgHeight} to dimensions of objImg as list
set numImgWidth to (item 1 of numImgWidth) as text
set numImgHeight to (item 2 of numImgHeight) as text
end try
-------ファイルタイプ取得
set theFileType to file type of objImg as text

end tell
---区切り文字をドットに指定
set AppleScript's text item delimiters to {"."}
---ファイル名をドット毎にリストにして
set listName to (every text item of theName) as list
---最初の項目をファイル名にする
set theFileName to (item 1 of listName) as text
---区切り文字を戻す
set AppleScript's text item delimiters to {""}
---ファイル名を定義
set theNewFileName to theFileName & theSepDe & numImgWidth & "x" & numImgHeight & theSepDe & numImgWidthRes & "ppi" & theSepDe & theColorSpace & "." & theNameExtension as text

-------------------------------------------------ファイル名を変更
tell application "Finder"
try
set name of file theName of folder theDirName to theNewFileName
end try
end tell


---繰り返しの終了
end repeat

end tell

end open




to doReplace(theText, orgStr, newStr)
set oldDelim to AppleScript's text item delimiters
set AppleScript's text item delimiters to orgStr
set tmpList to every text item of theText
set AppleScript's text item delimiters to newStr
set tmpStr to tmpList as text
set AppleScript's text item delimiters to oldDelim
return tmpStr
end doReplace

「RenameImages.scpt.zip」をダウンロード


|

« もし高校野球の女子マネージャーがドラッカーの『マネジメント』を読んだら | トップページ | [Preview]PDFのファイルサイズを小さくする »

AppleScriptRename」カテゴリの記事