こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AppleScriptでpathを取得

クリックしたファイルの絶対パスをクリップボードに保存する
AppleScript(以下に記載)があるのですが、これでは
クリップボードの中身が
'/Users/ABC/Desktop/tmp1.jpg' '/Users/ABC/Desktop/tmp2.jpg'
となります。
クオーテーション「 ' 」なしで、クリップボードに保存したいのですが
どのようにすれば良いのでしょうか。
rest of characters of などを使ってどうにか組もうとしたのですが
初心者にはできませんでした。
どなたか、よろしくお願いします。

tell application "Finder"
set theItems to "__OBJ_PATH__"
set theResult to ""
set old_delims to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set max to count of (every text item of theItems)
repeat with num from 1 to max
set theResult to theResult & quoted form of (text item num of theItems)
if max > 1 and num < max then
set theResult to "theResult" & " "
end if
end repeat

set AppleScript's text item delimiters to old_delims
set the clipboard to theResult
end tell

投稿日時 - 2009-02-27 22:03:34

QNo.4754791

すぐに回答ほしいです

質問者が選んだベストアンサー

repeat with num ... の次の行からquoted form ofを外して
set theResult to theResult & (text item num of theItems)
とすればいいはずです。
ただし、theItemsに複数のファイルが指定されていてファイル名に空白が含まれていた場合、クオーテーション無しだとどこからどこまでが1つのファイル名なのかが分かりにくくなります。

また、if max > 1 ... の次の行で、theResultをダブルクオーテーションで囲むのは意図に反していると思うのですが、いかがでしょうか。

投稿日時 - 2009-02-28 01:42:30

お礼

すごい! どうもありがとうございます!!
問題解決です♪

また、ご指摘の通り、区切り文字はスペース" "をやめて
改行にして、ややこしくならないようにしました。"\n"
重要な指摘どうもありがとうございました。

また、theResultをダブルクオーテーションで囲むのは
意図に反していました。さすがですね。
手取り足取りどうもありがとうございます。

投稿日時 - 2009-02-28 02:08:04

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問