2017-02-05 3 views
0

「Go To」ダイアログへのパスをKEYSTROKEすることによって、指定されたディレクトリに切り替えるApplescriptコードがあります。Applescriptを使用してディレクトリ(パス)が存在するかどうかを知ることができますか?

残念ながら、このダイアログはではありません。要求されたディレクトリが存在しない場合、エラーを発生しますか?それは道に沿って行くことができます。その下にあるどのウィンドウのデフォルトのテキストフィールドに無言のパスの区切りをダンプしますか?

例:「〜/ Music/nonexistent」と指定すると、ユーザのホームフォルダ内のMusicフォルダに切り替わり、アンダーレイウィンドウのデフォルトテキストフィールドに「存在しません」と入力されます。

したがって、AppleScriptから与えられたパスが既に存在するかどうかを調べる方法を知る必要があります。

答えて

0

AppleScriptでは、パスをalias指定子に強制してパスが存在するかどうかを簡単に確認できます。パスが存在しない場合、エラーがスローされます

さらに、プログラムでチルダを展開する必要があります。ハンドラはブール値を返します。

on checkPathExists(thePath) 
    if thePath starts with "~" then set thePath to POSIX path of (path to home folder) & text 3 thru -1 of (get thePath) 
    try 
     POSIX file thePath as alias 
     return true 
    on error 
     return false 
    end try 
end checkPathExists 

set pathisValid to checkPathExists("~/Music/nonexistent") 

またSystem Eventsを使用していますが、アップルイベントを送信することは少し高価です:

set thePath to "~/Music/nonexistent" 
tell application "System Events" to set pathisValid to exists disk item thePath 
+0

両方の選択肢が働いていました!ありがとうございました。 –

関連する問題