なぜAppleScriptによる回答がないのか不思議。
軽くスクリプティングしてみました。
AppleScriptエディタにコピー&ペーストして、
アプリケーション形式で保存してから使って下さい。
・ダブルクリックで起動した場合には「リストの選択要求→フォルダの選択要求」として動作。
・ドロップレットとしてドラッグ&ドロップ対応しているので、リストファイルをドロップした後は「フォルダの選択要求」のみの操作。
・リストファイル自体のファイル名は何でも構いません。リスト内のファイル名には半角スペースもOKです。
・テキストエンコーディングは「UTF-8」の前提です。改行はLFでお願いします。
・同名のフォルダが存在した場合、作成はスキップします。
・作業結果として、いくつフォルダを作成したのか、同名のためにいくつスキップしたのか、結果を表示します。
・軽くexception対策していますが、予期しない場合はエラーナンバーだけ吐いて終了します…。
------------------
global i, j, k, x
on openitemList
set i to 1
set j to 0
set k to 0
set x to 0
tell application "Finder"
try
set targetList to (first item of itemList) as alias
my Making(targetList)
on error errMsg number errNo
if errNo is -128 then
display dialog "キャンセルされましたので終了します" with icon 2
quit
end if
end try
end tell
end open
on run
set i to 1
set j to 0
set k to 0
set x to 0
tell application "Finder"
try
set targetList to choose file with prompt "自動生成したいフォルダ名のリストの記載されたテキストファイルを選択してください。"
my Making(targetList)
on error errMsg number errNo
if errNo is -128 then
display dialog "キャンセルされましたので終了します" with icon 2
quit
end if
end try
end tell
end run
to Making(theTargetList)
local s, ss, sss
set s to ""
set ss to ""
set sss to ""
try
set destFolder to choose folder with prompt "フォルダを自動生成する場所を選択してください。"
set fileRefNo to open for accesstheTargetList
set s to read fileRefNo as «class utf8»
close accesstheTargetList
set j to count paragraph of s
repeat until (i > j)
set folderName to paragraph i of s
if (not ({folderName} is in (list folder destFolder without invisibles))) then
if (folderName is not equal to "") then
tell application "Finder"
set resultFolder to makenewfolderatdestFolderwith properties {name:folderName}
end tell
else
set x to x + 1
end if
else
set k to k + 1
end if
set i to i + 1
end repeat
tell application "Finder" to set ss to "フォルダ「" & (name of destFolder) & "」内に" & return & ((j - k - x) as text) & "個のフォルダを作成しました。"
if k > 0 then
set sss to (k as text) & "個のフォルダが既に存在していたため作成されませんでした。"
end if
display dialogss & return & ssswith icon 1
on error errMsg number errNo
if errNo is -128 then
display dialog "キャンセルされましたので終了します" with icon 2
quit
else
display dialogerrNo
close accesstargetList
end if
end try
end Making
------------------
このメッセージは次により編集されています: はちぽち (修正:リストに改行文字が末尾にあったり連続していたりする場合などに、空の文字列項目として処理されないよう修正)