日々適当
hibitekitou

SMBの接続先のフォルダの内容が更新されないとき

mac |2014-02-19
OS X から接続したWindowsサーバ上の共有フォルダの内容が更新されているのに、MacのFinder上では中身が更新されない、という事があります。Appleのページには Mac OS X 10.2 の情報ながら、Mac OS X 10.2: Finder で Windows (SMB) ボリュームの内容の表示が自動的に更新されない って項目があるわけですが、そこに書いてる解消法が現在も有効なようです。つまり、当該フォルダに新規フォルダを作成するかファイルをコピーする。ファイルやフォルダを新たに作成するという事でリフレッシュがかかるようです。

ただ、フォルダやファイルを作成し、リフレッシュが終了したらその作成されたフォルダやファイルは必要ないから削除する、という作業を手動でやるのはいかにも効率が悪いので、そこを自動化したいと考えます。例えばFinderのツールバーに登録しておいて、クリックしたら一連の処理が実行される、みたいな。

シェルスクリプトを使うと簡単にできそうです。

#!/bin/sh

#dir=`/usr/bin/osascript -e 'tell application "Finder" to get POSIX path of (target of window 1 as string)'`
cd `dirname $0`

dateStr=`date +"%Y%m%d%H%M%"S`
#fileName=$dir"refreshFolder"$dateStr
fileName="refreshFolder"$dateStr
if [ ! -f $fileName ]
then
touch $fileName
rm $fileName
fi

空のファイルを作成してまた消すというスクリプトです。コメントアウトしている行はAppleScriptで実行するフォルダを指定する場合のもの。
これで、拡張子を.commandにして、実行権限を与えれば、ダブルクリックで(あるいはツールバーに登録したのをクリックして)シェルスクリプトが実行されます。…問題は、これ、実行するとターミナルウインドウが残っちゃうことなんですね。



ターミナルの環境設定でシェルの終了時の処理を指定でき、それを「ウインドウを閉じる」にしてもいいんですけど、すべての.commandファイルについてその処理になるのは好ましくないし…。

素直にAppleScriptあたりで書くべきですかね?
コメント ( 0 )|Trackback ( 0 )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。
数字4桁を入力し、投稿ボタンを押してください。