1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

画像の拡張子を付け替えるAppleScript

Last updated at Posted at 2020-06-22

Classic Mac OSでは拡張子よりもCreator TypeやFile Typeでファイルを識別していました。
そのせいか、社内ルールのオリジナルの拡張子をつけた画像もありました……

さて、時代が流れて令和になったいまでもeps拡張子のpsdデータなど見かけることがあります。
Twitterでも同様なデータで困っている方がいらっしゃるようで公開してほしいと要望いただきました。

もともと自分用に書いたのでエラー処理などしていません。
画像の拡張子となっていますが、exiftoolでデータが取れれば他の種類のデータでも付け替えてしまいます。
付け替えたファイルにはラベルをつけるようにしていますが、不要なら該当行を削除やコメントアウトしてください。

※要ExifTool
サイトかhomebrewでインストールしてください。

on open dropList
	repeat with aFile in dropList
		my main(aFile)
	end repeat
end open


on main(aFile)
	--現在の拡張子
	set currentExtension to my getExtention(aFile)
	
	--内部の拡張子
	set shcmd to "/usr/local/bin/exiftool -T -Filetypeextension " & quoted form of POSIX path of aFile
	set contentExtension to do shell script shcmd
	
	if contentExtension is "" then return
	
	--現在のファイル名
	set nowName to name of (info for aFile)
	--リネーム後のファイル名
	set newName to my myDelimiters(nowName, currentExtension, contentExtension)
	
	if currentExtension is not contentExtension then
		tell application "Finder"
			--リネーム処理
			set (name of aFile) to newName
			--ラベルを設定
			set label index of aFile to 1
		end tell
	end if
	
end main


on getExtention(aFile)
	set aExt to name extension of (info for aFile)
	log aExt
	set aExt to do shell script "echo " & aExt & " | tr A-Z a-z"
	return aExt
end getExtention


on myDelimiters(theStr, FindStr, repStr)
	set OriginalDelimiters to AppleScript's text item delimiters
	set AppleScript's text item delimiters to FindStr
	set theStr to text items of theStr
	set AppleScript's text item delimiters to repStr
	set theStr to theStr as string
	set AppleScript's text item delimiters to OriginalDelimiters
	return theStr
end myDelimiters

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?