プロが教える店舗&オフィスのセキュリティ対策術

iphotoのライブラリー内にオリジナルの写真が見つかりません。(!マーク)
ホームページに書いてある方法は試しました。

1,サムネールだけ残っているのはどういう操作をしたからでしょうか?
アルバム内でdeleteしても大丈夫ですか?

2,オリジナルの写真がないサムネールをすべて探すには、一括で検索できますか?

よろしくお願いします。

A 回答 (3件)

> また、読み込めない写真が何枚もあり、はい?かOKを30回くらいクリックしました。



オリジナルの画像ファイルが存在するが、読み込めない。ということは、そのファイルは壊れていると判断していいでしょう。

> これはどういうコトなんでしょうか?

「そういうことです」と答えるしかありません。No.1で回答したとおり、あなたのMacintoshには、なんらかの事故が起きています。たとえば、事故を起こした自動車が、原因がわからないまま事故後まっすぐ走らなくなったとしても、疑問に感じることはありませんし、疑問を持つほうがおかしいです。それと同じ感覚で対応するべきです。

No.1で紹介したAppleScriptで、「!」マークになる写真を、iPhoto読み込み時のオリジナルファイルを、再読み込みすることで、復活させようとしましたが、それはむだなことがわかったので、別のことを目的としたAppleScriptを考えてみました。これは、写真のファイルが見つからないものをリストアップし、ひとつのアルバム(Not Found)にし、その中でオリジナルファイルが見つかったものを別のアルバム(Origiinal Exists)とします。さらにそれぞれの写真のファイルパスを、テキストファイルに書き出しします。

ーーーーここからーーーー
tell application "iPhoto"
new album name "Not Found"
new album name "Original Exists"
set emptyList to ""
set originalExistsList to ""
repeat with i from 1 to the number of photos in photo library album
set thePhoto to photo i of photo library album
set thePath to image path of thePhoto
tell application "Finder"
set theFile to (thePath as POSIX file)
if not (theFile exists) then
tell application "iPhoto"
add thePhoto to album "Not Found"
set emptyList to emptyList & thePath & return
set originalPath to original path of thePhoto
end tell
set originalFile to (originalPath as POSIX file)
if originalFile exists then
tell application "iPhoto"
add thePhoto to album "Original Exists"
set originalExistsList to originalExistsList & originalPath & return
end tell
end if
end if
end tell
end repeat
if emptyList is not "" or originalExistsList is not "" then
set outputFile to choose file name with prompt "Save the broken links list for iPhoto." default name "LinkBrokenList.txt"
set fh to open for access outputFile with write permission
try
write "Not Found any file at the path:" & return to fh
write emptyList & return & return to fh
write "Only original file is found, but can't open:" & return to fh
write originalExistsList to fh
on error
close access fh
return
end try
close access fh
else
display dialog "This work is completed."
end if
end tell
ーーーーここまでーーーー

ところで、もし私があなたと同じ境遇になった場合、ハードディスクをいったん初期化するか、交換するかを、検討します。不安を感じながら、なにもせずに、そのままMacintoshを使い続けることはないでしょう。
    • good
    • 0
この回答へのお礼

何回か失敗しましたが、今やっと終わりました。
not foundに154枚
original existに154枚中32枚入ってました。
LinkBrokenList.txtには200枚くらい入ってます。数えられなく大体です。

どのように結果をお伝えして良いか分かりませんが、いま気がついたら、オリジナルが見つからない写真はある時期の写真だけです。(他のイベントは一切入っていません)
それも、この期間中撮った、40位あるイベントの4つのイベントだけに発生しています。
旅行写真なので5台のカメラで6000枚撮りました。

ほかの写真は一切入ってません。
この時6000枚の中からプリントする写真、スライドショーに使う写真、など様々なアルバムを作りました。
imovieで写真のスライドショーを作成したとき、よくimovieが落ちた記憶があります。(これが原因ではないと思いますが)

しかし、154枚と分かったので、昔のバックアップから一枚一枚戻して見ようかと思います。

初期化に関してはいつかやらなくてはいけませんが、time machineからではだめで、クリーンインストールなんでしょうね?
当然ながら1年前に戻っても!マークでした。

大変お世話になりました。
なんとお礼を言っていいか分かりません。
見ず知らずの相手に、ここまでしていただけるとは夢にも思いませんでした。
ありがとうございました。

お礼日時:2010/03/26 21:46

> import originalPath to album"reImportd"の部分がグレーになっています。



ごめんなさい。1語「from」が抜けていました。この箇所を次のように訂正してください。

import from originalPath to album "reImported"

※いちおうできてしまった、「Not Found」、「reImported」アルバムを削除してから、AppleScriptを実行してください。

この回答への補足

申し訳ありません。原因は省エネ設定だったようです。

もう一度やったら出来ました。
Not Foundにしっかり100枚くらい入っていました。
reimportedの中には0枚でした。
また、読み込めない写真が何枚もあり、はい?かOKを30回くらいクリックしました。

これはどういうコトなんでしょうか?
ホントに申し訳ありません。

補足日時:2010/03/26 07:21
    • good
    • 0
この回答へのお礼

爆足のご回答ありがとうございます。

やり直してみました。
今度は
iPhoto でエラーが起きました:AppleEvent がタイムアウトしました。number-1712
image pathの部分がグレーになってます

これはなんでしょう?情けない位理解出来ません。

申し訳ありません。

お礼日時:2010/03/26 00:03

> 1,サムネールだけ残っているのはどういう操作をしたからでしょうか?


> アルバム内でdeleteしても大丈夫ですか?

サムネールの画像は、本画像のファイルと別個のファイルとして、iPhoto Library内に保存されています。本画像のファイルが消失しても、残っているので、サムネールはあるが、本画像を開くと「!」マークになるということになります。
現在は、写真のデータベースと、写真の本画像ファイルの有無が一致していない状態です。データベースから写真を削除すること自体に、支障が起きることはありません。

> 2,オリジナルの写真がないサムネールをすべて探すには、一括で検索できますか?

iPhotoは、AppleScriptで制御可能なアプリケーションです。適宜プログラムをAppleScriptで書いて、実行することで、実現できます。
一例として、以下のプログラム(スクリプト)を示しておきます。(iPhoto '09用です。iPhoto '08以前では動作しません)

ーーーここからーーーー

tell application "iPhoto"
activate
new album name "Not Found"
new album name "reImported"
repeat with i from 1 to the number of photos in photo library album
set thePhoto to photo i of photo library album
set thePath to image path of thePhoto
tell application "Finder"
set theFile to (thePath as POSIX file)
if not (theFile exists) then
tell application "iPhoto"
set originalPath to original path of thePhoto
end tell
set originalFile to (originalPath as POSIX file)
if not (originalFile exists) then
tell application "iPhoto"
add thePhoto to album "Not Found"
end tell
else
tell application "iPhoto"
import originalPath to album "reImported"
end tell
end if
end if
end tell
end repeat
end tell

ーーーーここまでーーーー

アプリケーション>ユーティリティフォルダにある「AppleScript エディタ」を起動し、このスクリプトをコピー&ペーストします。
「種類:スクリプト」で、適当な名前を付けて、保存します。
ツールバーにある「実行」をクリックすると、iPhotoが起動して、処理を行います。
まず本画像のファイルが存在しないものを探し出します。
iPhotoに取り込んだときの、オリジナル画像が残っている場合、それを再取り込みし、アルバム「reimported」に加えます。
オリジナルも見つからないものは、アルバム「Not Found」に加えられます。

なお、iPhotoの写真データは、いともかんたんに消えてしまったり、行方不明になることはありません。ハードディスクの異常、ソフトウェアレベルか、ハードウェアレベルかわかりませんが、何らかの異常から起きた、一種の「事件」とお考えください。
    • good
    • 0
この回答へのお礼

ご丁寧なご指導ありがとうございます。
回答がないので諦めかけていました。

早速行ってみました。

30分ほどしてappleScriptエラーが出ました。
iPhoto でエラーが起きました:importに必要な引数(パラメタ)がありません。"number-1701
import originalPath to album"reImportd"の部分がグレーになっています。

申し訳ありませんが、引き続きよろしくお願いします。
ホントに図々しく恥ずかしい限りですが、何卒

お礼日時:2010/03/25 22:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!