2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

AppleScript アップルスクリプト 質問、発表 6

1 :名称未設定:2013/12/21(土) 21:50:45.07 ID:1PJJFexL0.net
質問、発表どっちでもスレ。

■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
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/

141 :名称未設定:2014/01/30(木) 23:46:23.42 ID:zzqchskQP.net
>>140
なるほど。AppleEvent送信するにも受け手側が必要か。
で引数渡してそいつを操作すればなんでもできるのかな。

いや実際にはPHPで普通に公開してて全部できるんだけどね。

ネットちょっとさまよってたら、サーバー側に受け手としてPHPを
ひとつ仕込んでおき、そこにGETのcurlでアクセス、それを
do shell scriptで拾うのがあったよ。ただ、SQLインジェクションとか
URLエンコードがどーなるのかは不明。でも、できるらしいね。

142 :名称未設定:2014/01/31(金) 02:06:43.01 ID:q4ztzmWK0.net
>>141
どの程度の操作をしたいのか分からんけど、データの入力とか展開ならPHP使えるなら適当にapiつくって、curlで操作するのが一番簡単じゃないかな?
てか運用してるなら入力とか抽出のapiはもうあるんじゃない? それ使えば良いと思う
SQLインジェクションはweb上のフォームとかがちゃんと作ってあるなら問題ないでそ
データ入力はcurlで値をポストすれば良いし
URLエンコードはcurlのポストのオプションでやってくれるけど
日本語のデータ入力の場合applescript内の文字コードがutf8だから、
それ以外の文字コードの場合、curlでポストする前にワンラインで文字コード変換しないとUTF8でエンコードしちゃうから
自前で文字コード変換とURLエンコードのハンドラ作っとくのがいいと思う

143 :名称未設定:2014/01/31(金) 03:58:54.92 ID:q4ztzmWK0.net
>>141
ごめ
試しにapplescriptだけでリモートやってみたら超簡単だったからサンプル置いとくわ

サーバー側
property cmdlist : {"curl 'http://ip.ossus.ch'", "ifconfig", "sw_vers"}
on cmd(Q)
  set out to do shell script item Q of cmdlist
  return out
end cmd

これを実行後終了しないにチェック入れてremotestって名前でアプリケーションで保存してサーバー側で起動しとく

クライアント側
tell application "remotest" of machine "eppc://user:pass@サーバー側Domain or IP"
  return cmd(3)
end tell

これをクライアント側で実行するとサーバー側のスクリプトが動作してサーバーのOSバージョンがクライアント側に表示される
ちなみに
  return cmd(1) だとサーバー側からグローバルIP返すwebサービスにcurlでアクセスしてサーバーのグローバルIPが表示される
  return cmd(2) だとifconfigね サーバーのローカルのIPアドレスとか、ネットワーク情報が表示される

mysqlはdo shell script で操作してるだろうからdo shell scriptのコマンドリストって形にしてみたけど
細かい命令書き直せば普通に使えるんじゃねリモート
環境設定の共有でリモートアップルイベントオンにしてユーザー登録しといてね。
ちなみにタブを全角スペースにしてるからコピペ注意してね

144 :名称未設定:2014/01/31(金) 08:18:18.27 ID:uWeNXE6JP.net
>>143
その実行力感服します。このスレの神は有言実行だった。
PHPで適当にapiつくってcurlのところにGETでSQLぶちこみゃいいのね。
リモートのAppleEventのことも分かりやすいなあ。
これでファイルメーカーバージョンアップしなくてもいいね。
すばらしいの一言。セキュリティのことはまた勉強しないとね。

145 :名称未設定:2014/01/31(金) 08:26:54.35 ID:uWeNXE6JP.net
>>143
あ、書き忘れた。ありがとう!!!!

146 :名称未設定:2014/02/08(土) 15:58:08.45 ID:nsDgn/AA0.net
なんかここの人たちレベルが高いですね。
質問です。
シェルスクリプトを選択したファイルやフォルダに対して実行する方法ってありますか?

147 :名称未設定:2014/02/08(土) 16:08:10.74 ID:tRhLBcwSP.net
>>146
そういう慇懃無礼なのやめようよ。ホメ殺しというか。

do shell scriptで。パスはPOSIX pathで受け渡ししてね。

tell application "Finder"
set thePATH to selection as alias
set thePATH to POSIX path of thePATH
endt tell
set theAnswer to do shell script "ls -a " & quoted form of POSIX path of thePATH
displaydialog theAnswer as Unicode text

とかなんとか。windwosで書いてるので結果どうなるかは知らない。

148 :名称未設定:2014/02/08(土) 16:48:59.19 ID:3lSTg7G/0.net
>>146
んじゃ[$ GetFileInfo ]って言う指定したファイルの情報を出力するコマンドを使う例で書くね。

set Q to choose file --ファイルの場所を取得(Macintosh HD:Users:xxx:Desktop:11.jpg)
set Q to POSIX path of Q --POSIX path に変換(/Users/xxx/Desktop/11.jpg)
set cmd to "GetFileInfo " & quoted form of Q --コマンドを作成(ここでdo shell scriptでも良いけど、こっちの方がデバッグしやすい)
set info to do shell script cmd --コマンドを実行
display dialog "Result" default answer info --結果をダイアログに表示
(*結果はこんな感じ
file: "/Users/xxx/Desktop/11.jpg"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 02/08/2014 16:20:16
modified: 02/08/2014 16:21:43
*)


>>147
endt tell になってる
displaydialogにスペースがない

149 :名称未設定:2014/02/08(土) 17:40:10.80 ID:cWG4pfK10.net
GetFileInfo ってXcode、の追加のCLIツール、入れないと無いんじゃないの

150 :名称未設定:2014/02/08(土) 18:05:51.02 ID:iewnsadv0.net
例だろ

総レス数 1008
389 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★