「ディスクイメージを3つマウントした後にEPWING閲覧ソフトを立ち上げる」という
スクリプトをアップルスクリプトで組んでOS9で使っていました。
tell application "Finder"
activate
open {file "FOKS.img" of folder "Applications (Mac OS 9)" of startup disk, file "Wa-Doku.img" of folder "Applications (Mac OS 9)" of startup disk}
open file "CeDar1.6" of folder "CeDar1.6 folder" of folder "Applications (Mac OS 9)" of startup disk
end tell
というスクリプトなのですが、これをOSX(10.3)用に改造して使おうとしたところ、ディスクイメージのマウント時に「検証中」というバーが出るようになったので、マウントが終わる前に次の動作に進んでしまって「ディスクが見つかりません」というエラーになってしまうためにスクリプトを2つに分けて2段階で起動しなければならなくなってしまいました。
また、OSXではマウントしたディスクイメージのコンテナウインドウも開いてしまうのでこれを閉じてやる命令も加えなければならず、マウントするところまでと、コンテナウインドウを閉じてCeDarを立ち上げる過程との2つのスクリプトを順番に実行しなければなりません。
こんな面倒な事をせずに、イメージのマウントを待って次の作業に移るような1つのスクリプトで全作業が終わるようにしたいのですが不可能でしょうか?
まず、ディスクイメージマウント時の「検証」をスキップさせるようにimage mounterの初期設定を変えたいのですが、これもやり方がわかりません。
一つのスクリプトを実行するだけで、「検証中」のバーが消えるまで待ったりキャンセルをわざわざクリックしなくてもワンタッチで辞書が使えるようにするにはどうしたらよいでしょうか?
No.4ベストアンサー
- 回答日時:
必要なディスクがマウントするまで待つ方法もあります。
補足にありましたディスク名を使って書いてみました。
--
repeat
if (list disks) contains "KENKYUSHA_CHUJITEN" and (list disks) contains "CRGER" then exit repeat
delay 5 -- 5秒待つ
end repeat
--
これで必要なディスクがマウントされるまでrepeatの中を繰り返し続けます。
ウィンドウが開いたタイミングで反応することもできます。
--
tell application "Finder"
repeat
set |ALLWinName| to name of every Finder window
if |ALLWinName| contains "KENKYUSHA_CHUJITEN" and |ALLWinName| contains "CRGER" then exit repeat
delay 5 -- 5秒待つ
end repeat
beep
end tell
--
補足にあった2つのスクリプトの間にこのどちらかを置けばマウントを待って2つ目のスクリプトに処理が移ります。
誤動作でスクリプトが止まったときはコマンド+ピリオドで停止できます。
ご回答、どうもありがとうございました!
教えて頂いた方法、完璧です。
if~then文の作り方、そんな構文が無いかと一応自分でもwebで検索してみたのですが、探し方が下手だったようで有力な情報を拾えなかったのです。
助かりました。
どうもお世話になりました!
No.3
- 回答日時:
イメージのマウントにDisk Copyを使っているならば、Finder ではなく Disk Copy に命令を送ってあげれば検証中はウェイトになると思われます。
tell application "Disk Copy" to mount file file "FOKS.img" of folder "Applications (Mac OS 9)" of startup disk--without checksum verification (without checksum verification で検証しないようにできます。)
tell application "Finder" to open file "CeDar1.6" of folder "CeDar1.6 folder" of folder "Applications (Mac OS 9)" of startup disk
検証の有無はDisk Copyの初期設定でも設定可能なので、御質問のスクリプトでも検証しないよう設定すれば、御希望の動作が可能かもしれません。
ご回答、どうもありがとうございます。
Disk CopyでのマウントはOS9で使用する場合ですので、元々障害はなかったんです。それをOSXで使用するようになったら、Imagemounterという、検索しても引っ掛かってこない奇妙なアプリケーションでマウントするようになっているようなので、初期設定もスクリプティングも方法が全くわからない状態なのです。
状況のご説明が不十分だったようで、申し訳ありませんでした。
No.2
- 回答日時:
a)ファイルの存在確認を行い、存在確認に失敗したら、数秒待ってから存在確認を繰り返す。
b)コマンドhdiutilをdo shell scriptで呼び出して、マウントさせる:
do shell script "hdiutil mount /Users/Shared/mozilla-mac-MachO.dmg"
hdiutilなら、マウント処理が完了するまで、制御が戻ってきません。
ただ、.imgも扱えるかどうかは不明ですが。
参考URL:http://developer.apple.com/documentation/Darwin/ …
どうもありがとうございました。
存在確認を繰り返すという方法は「こんなふうにできないのかな」と漠然と考えてはいたものの、どう書いたら良いかわかりませんでした。
具体例をご呈示頂いてとても助かりました。
内容を理解するのに時間がかかると思いますが、良い勉強になりますし、トライしてみます。
どうもありがとうございました!
No.1
- 回答日時:
こんばんは。
その2つに分けたスクリプトに問題があると言うことはありませんか?
どう言った指示を出しているのでしょう?
この回答への補足
早々のお返事をどうもありがとうございます!
まず、
tell application "Finder"
activate
open {file "KENKYUSHA_CHUJITEN.dmg" of folder "辞書" of disk "Macintosh 80 HD", file "独和.img" of folder "辞書" of disk "Macintosh 80 HD"}
open file "CeDar 2.0b6" of folder "CeDar20b6.f" of folder "アプリケーション" of disk "Macintosh 80 HD"
end tell
でイメージをマウントし、
tell application "Finder"
close container window of disk "KENKYUSHA_CHUJITEN"
close container window of disk "CRGER"
open file "CeDar 2.0b6" of folder "CeDar20b6.f" of folder "アプリケーション" of disk "Macintosh 80 HD"
end tell
でウインドウを閉じてEPWINGソフトを立ち上げています。
どうでしょう? どうにかなりそうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Mac OS El Capitanがインストールできない… 1 2023/06/16 13:05
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- 英語 量を"size"で表現することの可否等について 1 2022/12/07 14:49
- 英語 Therefore, it appears to be more logical to avoid 2 2022/07/05 15:31
- 英語 「◯月までの△ヶ月間」の「までの」の表現で"until"ではなく"through"を使う理由について 3 2023/04/09 16:44
- Windows 10 とにかくパソコンが遅すぎる 6 2022/11/16 19:55
- デスクトップパソコン パソコン インテルC5i5RYH BIOSの設定方法を教えて下さい 5 2022/09/27 13:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
嫌ってるのに真似してきたりマ...
-
シンボリックリンクとネットワ...
-
BasiliskIIでのフロッピー
-
何故世の中多くの人が一流企業...
-
Mac OS Xで、CD-Rにデータを焼...
-
男子は男同士で恋バナとかしな...
-
教えてgooの常連ってどのカテに...
-
質問します こちらはなにも思っ...
-
NFSでサーバ側を再起動させた場...
-
自己愛強く承認欲求強い人と知...
-
Truecryptの暗号化解除方法教え...
-
Apple Scriptで、1つの作業完了...
-
ダブルクリックしてマウントす...
-
Raspbian GNU/Linux 11 (bullse...
-
独身や子無し夫婦に 結婚・出産...
-
共通の友人が私だけランチに誘...
-
ネット上のマウント
-
障害者相手にマウントを取る人...
-
何故世の中ちょっとした事でマ...
-
501ユーザ所有のファイルの上書き
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
嫌ってるのに真似してきたりマ...
-
教えてgooの常連ってどのカテに...
-
なぜネットのコメント欄は視野...
-
能ある鷹は爪を隠す
-
転職して4月から新しい職場です...
-
dfコマンドが返ってこない
-
マウントを取ろうとする心理 マ...
-
ネットのコミュニティについて...
-
NFSのキャッシュクリアの方法
-
仕事の聞き方
-
みなさんの苦手な人ってどんな...
-
OS起動時に fstab の内容が反映...
-
オタク同士って結構マウント取...
-
Mac OS Xで、CD-Rにデータを焼...
-
仮想ドライブのマウント?方法...
-
弱そうな人やおとなしそうな人...
-
Truecryptの暗号化解除方法教え...
-
障害者相手にマウントを取る人...
-
間違いを指摘してくれる人は本...
-
dmgの解凍方法
おすすめ情報