2011-08-26 25 views
11

ユーザーに応じて自動的にフォルダを自動生成するAppleScriptを記述する必要があります。 Applescriptエディタがこのエラーをスローします。は、文字列と変数をリンケージ文字列に連結します。

この識別子の後に行の末尾を置くことはできません。

ここでは、エラーをスローしているスクリプトの部分です。

try 
    set short_name to do shell script "whoami" 
    set path to "afp://fileserver.local/Faculty/" & short_name 
    mount volume path as user name short_name 
end try 
+0

3行目の最後にあるshort_nameが強調表示されます。 – jeremyjjbrown

+0

クイック・サイド・ノート:あなたのスクリプトは 'try'ブロック内にあるので、エラーは表示されません。 – fireshadow52

+0

この質問は何千回も見られましたが、一度だけ投票されました! – jeremyjjbrown

答えて

14

pathは変数名にすることはできません。

try 
    set short_name to do shell script "whoami" 
    set p to "afp://fileserver.local/Faculty/" & short_name 
    display dialog p 
end try 

正常に動作します。

8

私はBertrandに同意します。あなたの問題は変数として "path"を使用することです。いくつかの単語は、字句解析のための特別な意味を持ち、変数の1つである変数として使用することはできません。コードをコンパイルすると、そのパスが特殊であることを示す他の変数のように緑色に変わらないことがわかります。

"path"を変数として使用したいと思っていたら、あなたはできます。 AppleScriptで "|"変数の周りにそれが変数であることをAppleScriptに示すために使用します。これはうまくいくでしょう。

set |the path| to "afp://fileserver.local/Faculty/" & short_name 

ワン...最後のコメントをあなたが実際のようないくつかの単語で一つの変数を持つことができ、この技術を使用して...の短いユーザー名を取得するためのAppleScriptの方法があることを

try 
    set short_name to do shell script "whoami" 
    set |path| to "afp://fileserver.local/Faculty/" & short_name 
    mount volume |path| as user name short_name 
end try 

注意人...

set short_name to short user name of (get system info) 
+0

+1ですが、私はあなたに 'set short_name to short user name(set system info)'を設定するのに同意しません。私のマシンでは、実行に約2秒かかります。 –

+0

私は同意する(システム情報を得る)非常に遅いです。 "シェルスクリプト" whoami ""ははるかに高速です – jeremyjjbrown

関連する問題