AppleScript アップルスクリプト 質問、発表 6
レス数が1000を超えています。これ以上書き込みはできません。
0001名称未設定
垢版 |
2013/12/21(土) 21:50:45.07ID:1PJJFexL0
質問、発表どっちでもスレ。

■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
OSバージョンも忘れずに。

■参考
AppleScript Language Guide
https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
TN2065: do shell script
https://developer.apple.com/library/mac/technotes/tn2065/
AppleScript: The Language of Automation
http://www.macosxautomation.com/applescript/
MacWiki - AppleScript
http://macwiki.sourceforge.jp/wiki/index.php/AppleScript
鳶嶋工房 / AppleScript
http://tonbi.jp/AppleScript/
AS Hole(AppleScriptの穴)
http://piyocast.com/as/
■過去スレ
1 http://pc11.2ch.net/test/read.cgi/mac/1174045850/
2 http://pc11.2ch.net/test/read.cgi/mac/1197443062/
3 http://pc11.2ch.net/test/read.cgi/mac/1223026902/
4 http://anago.2ch.net/test/read.cgi/mac/1256127156/
5 http://anago.2ch.net/test/read.cgi/mac/1330350325/
0930928
垢版 |
2017/03/12(日) 12:53:49.02ID:gNaWOdyE0
>>929
すみません。
tell application "Finder"
end tell
で囲まず処理してました。解決しました。ありがとうございます。
0931名称未設定
垢版 |
2017/03/13(月) 11:25:20.43ID:ke+gv2mg0
>>928
最初はとっつきにくいかもしれんけど、
rubyあたりでやった方が処理も速いし書くのもラクだよ。
0932名称未設定
垢版 |
2017/03/13(月) 12:11:46.66ID:gmYvW2HT0
>>931
ruby はchoose folder みたいな事が出来ちゃうのですか?
0933名称未設定
垢版 |
2017/03/13(月) 13:56:12.84ID:ke+gv2mg0
>>932
そこはASに任せればいい。逆に言えばそこだけAS使って後はrubyで書けばいい。
0934名称未設定
垢版 |
2017/03/13(月) 14:15:03.70ID:qRuWGLnq0
なんでそんな面倒なことしなくちゃならんの
0935名称未設定
垢版 |
2017/03/13(月) 14:51:56.63ID:FjeaRWoU0
まだ初心者さんみたいだから、
rubyとかの外部スクリプトをまぜるのは
少々難易度が高いかも…

do shell script "ruby -Ku -e 〜"
って直接AppleScript内に書く場合は、
ダブルクォートなんかのエスケープが面倒くさいし、
.rbファイルを実行するにしても、.app内にファイルを置くかどうかで
パスの書き方が変わってきたりして…

>>934
横レスだけど、AppleScriptでやるより処理が速いし、
正規表現でファイル名置換したりできるのは便利ですよ
0936名称未設定
垢版 |
2017/03/13(月) 15:38:50.36ID:ke+gv2mg0
>>934
慣れないうちはそう思うけど、慣れると逆にASで書く方がなにかと面倒くさい。
0937名称未設定
垢版 |
2017/03/13(月) 15:44:33.66ID:cpb4aFeg0
guiめも

CocoaDialog
Platypus
inquirer.rb
terminal-notifier
0938名称未設定
垢版 |
2017/03/13(月) 16:21:42.20ID:qRuWGLnq0
そんな速度求めてないんじゃないの
デバッグするにしてもどっちかで完結した方がいいっしょ
0939名称未設定
垢版 |
2017/03/13(月) 20:41:59.39ID:3TX8S6Vu0
ASの基本もおぼつかない人を捕まえてRubyを薦めるなんて、非効率化道へ誘導しようとしているとしか思えない
0940名称未設定
垢版 |
2017/03/13(月) 21:41:50.59ID:1rIqXrQG0
ruby使えるだけで威張れるからこのスレ好きです
これからもrubyを薦めます
0941名称未設定
垢版 |
2017/03/14(火) 06:16:41.81ID:SBhQzKOi0
時代はpython
>>939
ほんそれ。使う人によって効率は変わってくるっていう基本がわかってない
0942名称未設定
垢版 |
2017/03/14(火) 09:00:44.40ID:b/L7QY/Q0
いや、どうせどっちもわかってないんだから
rubyなりpythonあたりから覚えても一緒じゃん。
0943名称未設定
垢版 |
2017/03/14(火) 09:50:59.34ID:zmKBWmXS0
でもこのスレで話すのはノーサンキュー
語りたい奴は既存のスレ移動するか、自分でスレ立てろよ
0945名称未設定
垢版 |
2017/03/14(火) 19:35:52.25ID:2q4HZx6M0
仲良くすれば良いのに
0946名称未設定
垢版 |
2017/03/14(火) 19:38:31.45ID:bKIqYbDL0
見つめ合うと素直におしゃべり出来ないし
0947名称未設定
垢版 |
2017/03/15(水) 11:30:38.37ID:BUZg/Ykg0
言いたいことも言えないこんな世の中じゃ
0949名称未設定
垢版 |
2017/03/19(日) 22:48:52.31ID:jSXW0ufR0
asが便利なのってマックリソース込みのファイル移動とかコピーだよな
0950名称未設定
垢版 |
2017/03/20(月) 10:59:37.70ID:K0kH9iJa0
そんなことにASなんか使う必要ないでしょ
10.4までなら MvMac/CpMac コマンドとか使えばいいし
10.4以降は mv/cp でよい
ASの特色はそういうレベルじゃない
0951名称未設定
垢版 |
2017/03/20(月) 13:21:14.05ID:E5J2xdb70
対象のファイルが複数のフォルダーに散在している場合や、
同一フォルダー内でも縦横無尽に散らばっている場合で、
それらをまとめて処理するようなときには、

コマンドファイルでも、
アップルスクリプトでも、
オートメーターでも、
自分の好みにあわせてどれでも利用すれば良いじゃない
もちろんコマンドファイルが処理速度などの点でいちばん有利なんだろうと思うけど、操作結果のフィードバックが目立たなさすぎるので不安な人もいるだろうし

確かにアップルスクリプトの特色はファイル操作だけじゃないけど、
だからといってファイル操作ごときにアップルスクリプトを使うな、コマンドを使え、というのはおかしくないかね?
0952名称未設定
垢版 |
2017/03/20(月) 13:28:37.64ID:tNIG8sod0
リソース込みの移動やコピーなんて
今はOS添付のコマンドラインなら普通に出来るから
リソースがどうのというのは前提条件が間違ってますよ
という指摘でしょう
0953名称未設定
垢版 |
2017/03/20(月) 15:16:23.72ID:K0kH9iJa0
>>931みたいにAS以外を押しつけてくる輩もいるから敏感になってるのかな
別にASを否定したつもりはないよ

>>952の補足してくれた(ありがとう)とおりで、使うな、ではなく
その条件では別に必要ない(使ってもよい)ということ
ASを推す気持ちはわかるけど理由が理由になってないから……
0954名称未設定
垢版 |
2017/03/20(月) 17:56:11.71ID:aJV3VVNJ0
他人がどんな言語選択するかなんて好き勝手すればいいじゃないか
そういうのは他所で議論してください
0955名称未設定
垢版 |
2017/03/20(月) 21:50:12.65ID:aRKmkiIl0
シェル使っていいならjava でもなんでもいいけど
0956名称未設定
垢版 |
2017/03/20(月) 22:27:46.15ID:JAHXB/GD0
こういうのが続くと
do shell scriptが絡んだ質問がしにくくなるなあ

必要に迫られてjava使ってみたけど
普段スクリプト言語ばかりだから
爆速に驚いたよ
スレチすいません
0957名称未設定
垢版 |
2017/03/21(火) 05:24:56.46ID:YDLfwtgb0
個人的にASの有難みを痛感したのは、WindowsでiTunesをスクリプト処理しようとした時だったな
0958名称未設定
垢版 |
2017/03/21(火) 09:22:39.42ID:y5Ac/8600
ファイルコピーやら移動やらするにも、ASだと色々と自分で処理を考えてやらなきゃいけないけど、
shell系なら色々と処理が用意されてるから圧倒的に楽に書けると思うが。
0960名称未設定
垢版 |
2017/03/21(火) 20:14:46.17ID:qE2C4R2r0
なんかようわからん流れ
0961名称未設定
垢版 |
2017/03/22(水) 06:00:01.60ID:lgNGAT+b0
68KやPowerPC時代はApple Script一択だったけど
今は選択肢増えたんだし
慣れたのでいいと思う
0962名称未設定
垢版 |
2017/03/23(木) 20:37:28.14ID:7HvdunIZ0
ただの慣れの問題だろ
ASだから考える時間が増えるとは一概に言えない
0963名称未設定
垢版 |
2017/03/23(木) 20:48:16.61ID:x+CSrVz+0
AppleScriptのファイルコピーって挙動があやしくない?
バッティングしたのかしらんがスルーされるときがある
0964名称未設定
垢版 |
2017/03/23(木) 21:17:39.69ID:7HvdunIZ0
そもそも、ここはapplescriptのスレなんだから
どの言語が使い易いとか便利とかは関係ないだろう
そういう話になるならobjcの方が楽に書けるし自由度もある訳だから比較にならない
しかしapplescriptの便利さをただのファイル移動としてしか理解されてない人間に
だよな、とか自信満々に書かれても「違うわ」と言いたくなる気持ちも分かる
0965名称未設定
垢版 |
2017/03/23(木) 23:23:39.87ID:Hx/4F5AA0
俺はファイル移動よりもpythonとか言ってるやつのほうがわかってない気がする。
とケチをつけるくせに更に勿体つけてみる。
0966名称未設定
垢版 |
2017/03/24(金) 00:43:30.67ID:753en8Rq0
>>963
AppleScriptというよりfinderが、じゃないの?
0967名称未設定
垢版 |
2017/03/24(金) 00:45:59.63ID:+ajPYzNh0
pythonとか言ってるやつってどれだよ
0968名称未設定
垢版 |
2017/03/24(金) 11:25:36.85ID:kAphza5X0
>>966
ファインダーなのかなぁ
普通同じフォルダに複数同時コピーしても処理するよね?もち別名ファイル
0969名称未設定
垢版 |
2017/03/24(金) 16:57:44.81ID:+ajPYzNh0
>>968
エラーは出ないの?
挙動怪しいは俺もそう思うけど、そういう場合たいていはエラー吐いてるけどなあ
まあエラーで原因がちゃんとわかるかっていうとそれは別の問題だけどw
0970名称未設定
垢版 |
2017/03/24(金) 21:58:16.85ID:7fFI+lWa0
もしファイルが既にあった場合の対処はしていないのかな?

ベースの部分が出来たーと思ってから
もしもの場合に備えていくと
スクリプトがどんどん膨らんでいくよね
0971名称未設定
垢版 |
2017/03/29(水) 10:17:01.61ID:iAZHQzNY0
初歩的で申し訳ないんですが
エラーログどこでみれますか?
0972名称未設定
垢版 |
2017/03/29(水) 10:53:58.42ID:Z1/VUf2c0
>>971
スクリプトエディタの下のほうに
「返された値」ってタブみたいのがあって、
実行したあとそこをクリックすると処理の流れは追えるけど、
それではダメ?

あとは、

log 変数
log "ここまではちゃんと動いてる"

みたいに、log文を自分で仕込んでチェック
(返された値のところに表示される)
0973名称未設定
垢版 |
2017/03/29(水) 20:04:44.19ID:l0pCiKKj0
>>971
メニューバー>ウインドウ>ログの履歴 というのもある
0974名称未設定
垢版 |
2017/03/29(水) 21:34:41.79ID:cKhIeBfJ0
最近気が付いたけど
tell application の中でdo shell scriptを実行すると
ログ見るとエラーメッセージが出てるのね
問題ないらしいけど
0975名称未設定
垢版 |
2017/03/30(木) 00:38:44.03ID:TSN5GLbj0
>>974
applicationに対してdo shell scriptの命令を送って、
それに答えられないからtellブロックの外で命令を実行、
みたいな動作だよね

だったら、do shell script命令に応えられるアプリが
あるってことなのだろうか…
0976名称未設定
垢版 |
2017/03/30(木) 16:59:47.19ID:7Vur2NxS0
>>974-975
そういう仕様だから仕方ないとはいえちょっと気持ち悪いよね
0977名無し募集中。。。
垢版 |
2017/03/31(金) 01:14:47.24ID:Z+59Vv5J0
tell me to do shell script "..."
ってやるとエラー出ない
0978名称未設定
垢版 |
2017/03/31(金) 01:29:26.65ID:fsk4tUbD0
TN2065
Does it make a difference which application I tell to do shell script?
For the most predictable results, always put do shell script calls outside of any tell block, or use tell me. In
practice, it usually doesn’t matter unless 以下省略
0979名称未設定
垢版 |
2017/03/31(金) 01:57:25.58ID:67Umxyuk0
あー、にゃるほど。
最初からtellブロックの外(スクリプトオブジェクト)に向かって
do shell scriptメッセージ送っちゃえばいいわけか。

thx
勉強になった。
0980名称未設定
垢版 |
2017/04/01(土) 08:11:10.41ID:Pa22lWRm0
最初から do shell script の解釈が tell me で固定されてればいいだけの話なんだけどね
こんなんよそに tell できたとしてもトラブルの種にしかならないし
0983名称未設定
垢版 |
2017/04/01(土) 13:12:52.80ID:Th6oGGes0
乙です
たまには新機能付けてくれれば盛り上がるのに

Automator にある選択テキストの取得
みたいなの付けてくれるとか
まあキーストロークで行けるんだけど
0984名称未設定
垢版 |
2017/04/02(日) 00:52:36.56ID:jddYfO370
一応OSメジャーアップデートのたびに地味に新機能ついてるけど、知ってた?
ぶっちゃけもうASはほとんど完成されてるし、それ自体の機能より
AS未対応のアプリが対応するとかの方がインパクトある気がする
0985名称未設定
垢版 |
2017/04/02(日) 00:56:32.73ID:K0logwwW0
知りませんでした。ゴメンなさい。
0986名称未設定
垢版 |
2017/04/02(日) 01:50:24.64ID:LTdBmP/H0
OSXになってゴッソリ機能が減った印象だったんだけどどうなんだ
record機能が秀逸だった記憶しかないけど
0990名称未設定
垢版 |
2017/04/13(木) 20:57:48.12ID:+p8dZwLu0
次立ってるしうめまっしょい
0991名称未設定
垢版 |
2017/04/14(金) 00:58:59.92ID:ueTGfWAJ0
applescript://com.apple.scripteditor?script=say%20%22%E5%9F%8B%E3%82%81%22
0992名称未設定
垢版 |
2017/04/14(金) 01:05:26.83ID:e/21lBVI0
repeat 9 times
display dialog "うめ" buttons {"おk"}
end repeat
0993名称未設定
垢版 |
2017/04/14(金) 01:15:35.68ID:MoWkfgnX0
repeat 8 times
display dialog "うめ" buttons {"おk"}
end repeat
0994名称未設定
垢版 |
2017/04/14(金) 01:29:10.19ID:ZmBUMfxw0
repeat while resNum < 1000
display dialog "Ume" buttons {"OK"} default button 1
end repeat
0995名称未設定
垢版 |
2017/04/14(金) 02:04:44.78ID:eaWvlN6o0
>>991は英語ボイスにしとると鳴らんからこれで

say "Woo-meh"
0996名称未設定
垢版 |
2017/04/15(土) 18:50:20.05ID:vi5T35Fd0
try
say "うめ"
on error
say "Go to next"
end try
0997名称未設定
垢版 |
2017/04/15(土) 20:14:30.40ID:xurLJNJL0
applescript://com.apple.scripteditor?script=open%20location%20%22https%3A%2F%2Fegg.2ch.net%2Ftest%2Fread.cgi%2Fmac%2F1491018171%2F%22
1000名称未設定
垢版 |
2017/04/15(土) 22:32:19.49ID:PpLFiK4M0
on quit
display dialog "次スレは>>981です。" buttons {"OK"} default button 1
continue quit
end quit
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 1211日 0時間 41分 34秒
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況