2016-03-31 8 views
0

osxの場合、NASからSMB経由でロードされたファイルの情報ウィンドウには、フルパス文字列に、例えば"SMB://server.com/path/to/file.txt"シェルスクリプトまたはAppleScriptを使用してMac上のSMBマウントNAS上のファイルにアクセスする場合

残念ながら、サーバーシステムイベントのプロパティは機能していないようです。アップル、あなたは最近、私の心を壊しています。

誰にも他のアイデアはありますか?たぶんシェルスクリプトですか?

ありがとうございました! スティーブ

Old Example that no longer works

答えて

0

このプロパティは、シェル命令のMDLから読み取ることができます。この手順では、ボリュームにSpotlightインデックスがあることを前提としています(Macボリュームのほとんどすべての場合...!)。

mdls命令は、ターミナルで実行されるか、doシェルスクリプトコマンドでAppleScriptによって実行されます。ファイルパス/名前はUnix形式(posix)で指定する必要があります。

構文は次のとおりです。 "mdls/path/to/your/file" - >ファイルのすべての属性を提供します。

表示する属性を定義することもできます。あなたのケースでは属性がkMDItemWhereFromsなので、構文は次のとおりです。のMDLは、-name kMDItemWhereFromsパス/ /あなた/ファイルへ

結果が形になります。kMDItemWhereFroms =( "のhttp:// XXXXXX")

以下のスクリプトは、ファイルを選択してサーチャー(存在する場合)を表示する例を示しています。結果を解析して引用間にテキストのみを入れます(車34)

set theFile to ((choose file) as string) 
set Source to do shell script "mdls -name kMDItemWhereFroms " & quoted form of (POSIX path of theFile) 
set AppleScript's text item delimiters to {ASCII character 34} -- the char " 
if (count of text item of Source) > 2 then 
set myServer to text item 2 of Source 
else 
set myServer to "" 
end if 
display dialog myServer 
+0

ありがとうございます!私はブランクしか得ていないので、おそらくSMBボリュームはインデックスされていません。インデックスに登録されているかどうかを確認する別の方法はありますか? – breuklyner

+0

Googleで確認したところ、SMBボリュームはmdutilで索引付けすることができますが、システムはmdlsコマンドの索引を作成します。スポットライトインデックスは、Mac OSサーバーのバージョンのみで共有ボリュームでバックグラウンドで実行できるようです(索引はファイルユーザーにリンクされていなければなりません!)。mdls以外は申し訳ありません。もちろん、情報ウィンドウを開き、値を読み取り、ウィンドウを閉じるスクリプトを作成することができます... – pbell

関連する問題