ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Macを教える・教わるコミュの【システム】【ファイル管理】MacとWinでiTunesのデータを共有したいが、Windows側からiTunesが起動できない

  • mixiチェック
  • このエントリーをはてなブックマークに追加
「【アプリ】airmacディスクでのiTunesのwin-mac共有」(元タイトル)
*管理人追記 タイトル変更しました。
本来のトピ立て日時 2009年03月08日 21:37

いつもお世話になっています。
厳密に言うとmacを教わるということからずれるかもしれませんが

【Mac】
iMac MB325 J/A OS 10.5.6
Mac Book MB466 J/A OS 10.5.6
【win】
ThinkPad X31 windows XP PRO SP3

【Timecapsule】 500GB MB764J/A
【外付けUSBHDD】 Logitec250GB

itunesのバージョンはすべて最新

です。

先日のTimecapsuleのリニューアル発売を契機に、
itunesのデータを家中のどのPCからでも再生できるようにしたいと考え、
TimecapsuleにつないだUSB外付けHDにデータを移動しまして、
itunesをoptionキーを押しながら起動してライブラリ選択をすることで
二台のmacは問題なくライブラリを共有できるようになりました。

ところが、windowsマシンで同様にshiftを押しながらitunesを起動、
外付けHDD上のライブラリを選択し、itunesが立ち上がろうとするんですが
不明なエラー13005というのが出て起動ができません。
windowsからこのディスクはちゃんと見えていて、
itunesmusicフォルダも全部見えています。

【試したこと】
iTunes Libraryに拡張子.itlを追加
genius関連のファイルの削除
win機のitunesのアンインストールと再インストール


どなたか同様の症状の出られた方いらっしゃらないでしょうか?
あとちょっとな気がするのですがうまいこといきません。
ご教授お願いいたします。

コメント(16)

〉元JPMさま
記載していますように、BootCampではなくThinkpad X31のwin機です。

無関係かも、と自分でも思ったのでそう書いたわけなのですが、winからの買い替え、買い増し、winの買い増し等で同様のニーズはあるだろうと思い、質問させていただきました。

また、もともとmacのiTunesのライブラリを、TimeCapsule経由のUSBHDDに移動して、それを共有なので完全に無関係でもないと思いましたので。

他にも無関係だというご意見多ければトピック削除させていただきます。
>iTunes Libraryに拡張子.itlを追加

iTunes LibraryはMac用、iTunes Library.itlはWindows用です。
拡張子を付けただけではWinで開けなかったと思います。

なのでWin用とMac用のライブラリは最低作る必要があります。
そのため、WinとMacではライブラリはそれぞれ別々に管理しないといけません。

Winで新規の空のライブラリを作っておき、データはMacのライブラリの共有を使う方法もあります。
その場合はWinでは共有の編集はできません。
>トシ(nabe) さま

なるほど。ありがとうございます。
では、win機からの接続を再生専用にするとして、

1.拡張子をつけたiTunes Libraryの拡張子をはずして
二台のmacのiTunesを再設定。

2.winで新規の空のライブラリを作って(iTunes Library.itl)、
それを共有HDに入れてwin機のiTunesを再設定。

共有HD内のitunesフォルダにはiTunes LibraryとiTunes Library.itl
の両者が存在し、同期はできない

ということですか。
これでwin機からライブラリの統合をしたらいけるのかな。。
帰宅したらやってみます。

上記の状況にしようと試みましたが、なぜかMac側ではずした拡張子が、
Winから見るとついているため、結果的に同じファイル名になるので、
新しく作った空のライブラリを入れることが出来ず、それは断念しました。

そもそもライブラリ同期ができないのであれば、
共有HDにwinのライブラリを置く必要もないので
iTunes Library.itlはローカルに置いたまま、
フォルダをライブラリに追加メニューから音楽データを読み込み、
普通に聴くことができるようになりました。

今後は新しい音楽の追加はMacからのみ行うようにして、
win機では定期的にライブラリに追加していこうと思います。

ともあれとりあえず共有HD内の音楽をwin-mac-macで共有し、
Mac間であればライブラリも共有できるところまでいけたので
しばらくこれでがんばってみます。
ありがとうございました。
Mac版とWindows版のiTunes Library.itl、共有できてますよ。
うちの場合、BootcampのWindows XP Home EditionとMac OS 10.5ですが、ソフトウェアの面ではBootcampも純正Windows機も変わらないと思います。

現在仕事場なので大したことは書けませんが。
Mac版の「iTunes Library」に拡張子[.itl」を付加したものは、その後Mac版からでもWindowsからでも読めています。
自分の環境の場合、「iTunes Library.itl」がMac、Windowsそれぞれ既定の位置(初期位置)に無いとうまくいかなかったので、それぞれのOS起動時にAutomator(Mac OS)またはバッチファイル(Windows)で、それぞれの「iTunes Library.itl」の更新日時を比較し、古い方に新しいものを上書きをして同期をとる処理をしています。
それと同時に(これは必要ないかもしれませんが、念のため)「iTunes Music Library.xml」をOS起動時に削除する処理もしています(iTunes起動時に再生成されるため、消去しても問題なし)。

ただし、うちの環境の場合、Mac OSとWindowsが同時に起動していることが無い(同一マシンでBootcamp環境なので)のでその点は考慮していないのですが、もしそれぞれのiTunesを同時に起動してしまった場合、同期時に何かしら不具合が生じるかもしれません。
>高桑(け) さま

ありがとうございます!
ということは、ファイルの問題ではなく、
Windows版のiTunes Library.itlの位置の問題なのですね。
Macが使用しているiTunes Library.itlを
win機のローカルに放り込んでみて起動するか様子を見てみます。

不明なエラー13005というのはライブラリ読み込み時の何かぽいですね。


当方プログラミング等の知識が全くないので、
よろしければそれぞれのOS起動時の自動処理について
教えていただけませんでしょうか?

同時起動したときにどうなるかは確かに未知数ですが
この際それも人柱として実験してみます(笑)

>高桑(け) さま

共有HDのMacが使用しているiTunes Library.itlをwin機のローカルに放り込んでみたら
うまくいきました!!

あとは仰るように同期を取る処理がMac-winで走れば完璧ですね〜
自分もプログラムはあんまり詳しくないので、ちょっとずつ調べながら作ったので無駄があるかもしれませんが、一応載せてみます。

とりあえずMac側が古い場合に上書きするスクリプトから。
以下のスクリプトをMac OSのAutomatorでAppleScriptとして入力します。
「ユーザー名」の所はWindows環境でのあなたのユーザー名を、その後の「C_HD」の所はWindowsのドライブ名(Mac側から見える名前)を入力してください。
実行する前にあらかじめMacのiTunesフォルダーにITLBakというライブラリバックアップ用フォルダを手動で作っておいてください。


tell application "Finder"
set srcFolder to folder "iTunes" of folder "Music" of home
set destFolder to folder "ITLBak" of folder "iTunes" of folder "Music" of home

duplicate file "iTunes Library.itl" of srcFolder to destFolder with replacing
duplicate file "iTunes Music Library.xml" of srcFolder to destFolder with replacing

set macFolder to srcFolder
set winFolder to folder "iTunes" of folder "MyMusic" of folder "My Documents" of folder "ユーザー名" of folder "Documents and Settings" of disk "C_HD"
set macdate to get modification date of file "iTunes Library.itl" of macFolder
set windate to get modification date of file "iTunes Library.itl" of winFolder

if windate > macdate then
duplicate file "iTunes Library.itl" of winFolder to macFolder with replacing
delete file "iTunes Music Library.xml" of macFolder
tell application "iTunes"
activate
delay 1
quit
end tell
end if
end tell





Windows側の処理は、また明日にでも書きます。
>高桑(け) さま

すごいですね!これを自分で書かれたんですか!
僕もAppleScript勉強しようかな。。

お時間あるときで結構なのでまたWindows側の処理教えてくださいませ。

あと、今後のみなさまのためにとりあえず今回調べた中で
参考になりそうなサイトを貼っておきます。

http://musicsan.seesaa.net/article/54065870.html


http://news-walker.net/2007/06/25192908.html


http://news-walker.net/2007/08/01171455.html
すいません、返事が遅くなりました。
今日はWindows側での自動処理について書きます。

1)C:\Program Files
に「UserBatFiles」というフォルダを作ります。

2)windowsのメモ帳で下記のプログラムを入力(貼り付け)し、行程1で作成したフォルダに「gettstmp.bat」という名前で保存します。

3)C:\Documents and Settings\winユーザー名\My Documents\MyMusic\iTunes
(「Winユーザー名」のところは、Windows環境でのあなたのユーザー名)に、「Previous iTunes Libraries」というフォルダを作成します。(既に自動で作られている場合もあり)

4)行程3で作成したフォルダ内に、「Previous1」「Previous2」」「Previous3」「Previous4」「Previous5」という5つのフォルダを作成します。

5)windowsのメモ帳で以下のプログラムを入力(貼り付け)し、行程1で作成したフォルダに「SyncITL.bat」という名前で保存します。
その際
「set ITDIRWIN=」の後ろにはWindowsでiTunes Library.itlが格納されているフォルダのパス(場所)を、
「set ITDIRMAC=」の後ろにはMacでiTunes Library.itlが格納されているフォルダのパスを、
「set ITEXEPATH=」の後ろにはWindowsでのiTunes.exeのパスを、
それぞれ入力してください。


以上の行程で作成したSyncITL.batというバッチファイルを起動時に実行することにより、同期(Win側が古ければ上書き)が行われます。
大まかにどういう処理をしているかを説明すると、

1.同期がうまく動かなかった時の復旧用に「iTunes Library.itl」と「iTunes Music Library.xml」のコピーをバックアップとして保持します。
2.iTunesは自分以外のOSで書き込まれたiTunes Library.itlを読み込むと、自動的にライブラリの更新作業(結構時間がかかります)を行うようです。その対策として異なるOSの.itlで上書きが行われた場合は、自動的にiTunesを起動し、更新が行われるようにしてあります。
この際Mac側のスクリプトは終了すると自動的にiTunesを終了してその先の処理をするようになっているのですが、Windows側はバッチファイルからiTunesを終了させる方法が見つからないため、ライブラリ更新が終了したら手動でiTunesを終了しないと先に進みません(今後改善したいですね)。
-----以下、「getstmp.bat」の内容-----



rem 指定されたファイル更新日時を取得するBatch

if not exist %1 (goto ERR)
set GETTSTMPRTN=%~t1
set GETTSTMPRTN=%GETTSTMPRTN:/=%
set GETTSTMPRTN=%GETTSTMPRTN::=%
set GETTSTMPRTN=%GETTSTMPRTN: =_%

goto END

rem エラー処理
:ERR
echo ファイルの指定が正しくありません。

rem 終了
:END
-----以下、「SyncITL.bat」の内容-----

echo off

rem 環境設定、各iTunesフォルダのPATHを定義
set ITDIRWIN=C:\Documents and Settings\winユーザー名\My Documents\My Music\iTunes
set ITDIRMAC=F:\Users\macユーザー名\Music\iTunes
set ITEXEPATH=C:\Program Files\iTunes\iTunes.exe

rem 元のカレントディレクトリを退避
set ORGDIR=%CD%


rem カレントディレクトリをPrevious iTunes Libraries@winに変更
%ITDIRWIN:~0,2%
cd "%ITDIRWIN%\Previous iTunes Libraries"

rem Previous1〜4内ファイルをPrevious2〜5内へ移動処理ループ
set /a SRCNUM=4
:LOOP
set /a DSTNUM=SRCNUM+1
echo Previous%SRCNUM% to Previous%DSTNUM%
move /y "Previous%SRCNUM%\*.*" "Previous%DSTNUM%\" > nul 2>&1
if "%SRCNUM%"=="1" (goto NEXT)
set /a SRCNUM=SRCNUM-1
goto LOOP

rem ループ脱出
:NEXT

rem .itl@iTunes of winと .xml@iTunes of winをPrevious1にコピー
echo Win to Previous1
copy "..\iTunes Library.itl" "Previous1\" /y > nul
copy "..\iTunes Music Library.xml" "Previous1\" /y > nul

rem カレントディレクトリを元値に変更
%ORGDIR:~0,2%
cd %ORGDIR%

rem .itl of WINの更新日を取得
set GETTSTMPPRM=%ITDIRWIN%\iTunes Library.itl
call "C:\Program Files\UserBatFiles\gettstmp" "%GETTSTMPPRM%"
set STMPWIN=%GETTSTMPRTN%

rem .itl of macの更新日を取得
set GETTSTMPPRM=%ITDIRMAC%\iTunes Library.itl
call "C:\Program Files\UserBatFiles\gettstmp" "%GETTSTMPPRM%"
set STMPMAC=%GETTSTMPRTN%


rem .itl of macと.itl of winの更新日を比較
if %STMPMAC% LEQ %STMPWIN% (goto CLRPRM)
rem .itl of macが.itl of winより新しい場合の処理
echo copy Mac to Win
copy "%ITDIRMAC%\iTunes Library.itl" "%ITDIRWIN%\" /y > nul
echo Delete xml
rem del "%ITDIRWIN%\iTunes Music Library.xml" > nul
echo run iTunes
call "%ITEXEPATH%"

rem 環境変数を開放
:CLRPRM
set ITDIRWIN=
set ITDIRMAC=
set ITEXEPATH=
set ORGDIR=
set SRCNUM=
set DSTNUM=
set GETTSTMPPRM=
set GETTSTMPRTN=
set STMPWIN=
set STMPMAC=
以上の方法で、うちの環境では同期をしています。

チェリーさんの環境の場合、この処理の前に互いのドライブ共有処理などが必要そうですね。
それに関しては、バッチファイルでは「netuse」コマンドで、Automatorではその共有ドライブのエイリアスをあらかじめ作っておいて、そのエイリアスを開くオートメーションを組むことで可能になると思います。

各コマンドの解説は、googleで"コマンドプロンプト 入門"や、"apple script 入門"などのキーワードで調べてみてください。
>高橋(け)さま

すごい!!本当にありがとうございます!!
とりあえず勉強がてらwin側の処理からやってみて、
様子を見たいと思います!

BootCamp環境だったら、これで完全同期ですね。
すごいですねー、これを自分でやってしまうなんて。。

大変お手間をとらせてしまい、すみませんでした。
ありがとうございます!

ログインすると、残り2件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Macを教える・教わる 更新情報

Macを教える・教わるのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング