GO BACK

初心者のためのAppleScript教室


「テキストファイルの利用」


■テキストファイル利用のための命令


 AppleScriptでは、テキストファイルのアクセスには一定の規則があります(というかプログラミング関係ではだいたい基本となっている規則ですが)。それは、次のようなものです。


1.まず、ファイルを開く。

2.ファイルを読み書きする。

3.終わったら、ファイルを閉じる。


 この通りにしないと、ファイルの利用はできません。開いてないファイルを読み書きしようとしてもできませんし、また使い終わったファイルを閉じるのを忘れると、他のソフトで開けなくなったり、ファイルが使用中のためゴミ箱に捨てられなくなったりします。


●ファイルを開く「open for access」命令●

フォーム:
open for access《ファイル》(with write permission《真/偽》)

意味:
ファイルを開き、使用中にする。オプションが1つあり、write permissionをtrueにすると、書き込みが可能になる。falseまたはオプションを省略すると読み込み専用。

例文:open for access file "HD-300SC:Data:Sample"


●ファイルを閉じる「close access」命令●

フォーム:
close access《ファイル》

意味:
指定のファイルを閉じて解放する。これを行なわないと、ファイルは使用中のままとなり、他で利用できないなど問題が起こる。

例文:close access file "HD-300SC:Data:Sample"


●ファイルに情報を書き込む「write 〜 to 〜」命令●

フォーム:
write《書き込むデータ》to《ファイル》

意味:
指定のファイルにデータを書き込む。オプションがいろいろ用意されているが、単にテキストを書き込むだけならデータとファイルを指定するだけでいい。

例文:write Valiable1 to file "HD-300SC:Data:Sample"


●ファイルの情報を読む「read 〜」命令

フォーム:
read《ファイル》(using delimiter《テキスト》)(for《数字》)

意味:
ファイルからデータを読み出す。これもオプションがたくさんあるが、単に読むだけならファイルを指定するだけ。using delimiterを使うと、特定のテキストを区切り文字とし、それを見つけるまで読み込む。またforを使うと、指定したByte数だけ読み込む。読み込んだテキストはresultで返される。

例文:read file "HD-300SC:Data:Sample"


 かなりオプションの多い命令なのでわかりにくいでしょうが、基本は「open for access」「read/write」「close access」という手順を踏むということです。

 わかりにくいでしょうから、テキストファイル利用の例を上げておきましょう。


tell application "Finder"
	choose folder with prompt "調べるフォルダは?"
	set targetFolder to result
	new file with prompt "ファイル名" default name "調査テキスト"
	set saveFile to result
	open for access saveFile with write permission
	repeat with obj in every file of targetFolder
		write ((name of obj) as text) to saveFile
		write return to saveFile
		set dd to creation date of obj
		write "作成日:" & (dd as text) to saveFile
		write return to saveFile
		set dd to modification date of obj
		write "修正日:" & (dd as text) to saveFile
		write return & return to saveFile
	end repeat
	close access saveFile
	display dialog "終わりました。" buttons {"OK"} default button 1
end tell

 これは、選択したフォルダ内にあるファイル類の名前と作成日、修正日のリストをテキストファイルとして出力するスクリプトです。ファイルを作成するダイアログとあわせて使うと、非常に使いやすくなることがわかると思います。

GO NEXT


GO HOME