探検


【中の人】Automator【小人】3人目 [転載禁止]©2ch.net

2014/11/17(月) 19:12:32.44ID:+W3jGxLM0
前スレ
【中の人】Automator【小人】2人目
http://anago.2ch.net/test/read.cgi/mac/1168924788/

【中の人】Automator【小人】
http://pc7.2ch.net/test/read.cgi/mac/1088457299/
2016/02/28(日) 01:47:24.72ID:mloZLAvk0
新規−サービスで新規作成

ユーティリティ−シェルスクリプト実行のアクション
sed -e 's/_sm_/_dmb_/'

インターネット−Webページを開くアクション

サービス名をつけて保存

として、>>73 の通りやればいいんじゃなう?
2016/02/28(日) 02:10:25.60ID:KAwOHSEr0
そういう目的ならブックマークレット使うなあ
例えば
javascript:window.location.assign(window.location.href.replace(/_sm_/, "_dmb_"))
これをURLとしてブックマークとかバーに追加して、動画ページを開いた時に次にこれ開く
2016/02/28(日) 07:18:28.20ID:AUcUd8u20
iTunesのある特定のプレイリストを選択するようなことはできないでしょうか?
AutomatorでiTunesを自動で起動するようにしてるのですが、
起動後、キーボードの再生ボタンを押してもiTunesでプレイリストでなくライブラリが選択されてたり、iPhoneなどのデバイスが選択されていてキーボードの再生ボタンを押してもさいせいされません。

そこで、iTunes.appを起動するのでなく特定のプレイリストをAutomatorで表示する事で結果iTunes.appが起動するようにしたいのですが。

プレイリストがいつでも再生できるようなるだけで曲が再生されない状態がのぞみです。
7770
垢版 |
2016/02/28(日) 11:08:30.19ID:Mhc7/sOL0
>>74 >>75
できました。
ありがとうございました!
2016/02/28(日) 13:04:15.43ID:bWsh6eh00
>>76
プレイリスト名が一意に決まってるなら
tell application "iTunes"
set view of front browser window to playlist "プレイリスト名"
end tell

重複するなら、あらかじめplaylist idを調べておいて
tell application "iTunes"
set view of front browser window to playlist id プレイリストid
end tell

で選択できる
2016/02/28(日) 14:06:42.04ID:AUcUd8u20
>>78
お〜〜すばらしい。
聞いてよかったです。
助かりました。ありがとうございます。
2016/04/26(火) 23:27:44.05ID:9scZ42oS0
El Capitan ver.10.11.4

・使用中のアプリ
Soundflowerbed v1.6.6
・やりたいこと
ワンクリックで「内蔵スピーカー」と「Soundflower(2ch)」の切り替え(トグル)

今はoptキー押しながらメニューバーの音量をクリックして「内蔵スピーカー」を選んだり「Soundflower(2ch)」を選んだししてますがそれを簡略化できればと思っています
イメージとしてはアプリケーションとしてトグルボタンを作ってDockにおいたアプリケーションをクリックしたら「内蔵スピーカー」←→「Soundflower(2ch)」を切り替える感じです

このようなことはAutomatorで可能でしょうか?
可能であればどのようにすればいいでしょうか?
2016/04/27(水) 00:12:25.32ID:NWIEa/iv0
システム環境設定での操作?
それならAppleScriptのGUIスクリプティングでできそうだけど
/Library/Scripts/UI Element Scripts/Set Output Volume.applescript などが参考
2016/04/27(水) 21:45:44.85ID:P0yw2C3l0
>>81
ありがとうございます
>システム環境設定での操作?
システム環境設定でもメニューバーからの変更でもとりあえず出力を変更できればなんでも構いません
AppleScriptの知識がないと無理でしょうか?
2016/04/28(木) 00:47:59.04ID:jGbVfY5r0
なんにせよ自作を考えてるようだし、自分も似たようなことやってるからAppleScriptを出してみた
ググってもAppleScriptの解が多いし
ググったついでに、もっと簡単にパクれそうなスクリプトがあった
ttp://hints.macworld.com/article.php?story=20130228082330812

メニューバー右側の操作もできる気もしたけど(以前AppleScriptスレで見た気がした)自分でやってないんでわからない

ターミナルで動かすコマンドもあった(これをAutomatorなりAppleScriptなりでアプリ化してもいいし)
ただ10.11でこれがそのまま使えるかわからない
ttps://github.com/deweller/switchaudio-osx
84名称未設定
垢版 |
2016/04/28(木) 20:58:05.54ID:OVLwjN0I0
きょねん打線
ことし抑え

ましのほうがましやな
あーあ
85名称未設定
垢版 |
2016/04/28(木) 20:58:22.66ID:OVLwjN0I0
あーあ
2016/04/28(木) 23:52:41.49ID:QeTM9WJm0
沢村?
またぶち壊しちゃったな
TBSラジオで岡田さん、どういうつもりで投げてるのか聞いてみたいってあきれてたわw
2016/06/06(月) 14:56:08.11ID:61W+cZaq0
過疎っててだーれもいないようだけど、質問を。
AutomatorのAppleScriptで

tell application "iTunes"
play playlist "お気に入りのプレイリスト"
end tell

これでアプリとして保存して再生は出来るのですが、
異なるフォルダで同じプレイリスト名の再生方法がわかりません。

play playlist "abc/お気に入りのプレイリスト"

play playlist "def/お気に入りのプレイリスト"

と階層風にしたけどScriptからエラーが出て再生できませんでした。
フォルダを含めた指定はどうすればいいのでしょうか?
2016/06/06(月) 18:00:22.63ID:Mgzby6670
試さず書くけど>>78の後半みたいにid指定すんじゃない?
でなきゃ : 区切り
2016/06/06(月) 20:54:54.85ID:/5shcwpZ0
>>88
上のidを指定する方法で出来ました。
ありがとうございました。
2016/08/17(水) 03:09:28.48ID:dSqJlw0F0
El CapitanのSafariです。
すでに開いているウインドウはそのままで
新たにウインドウを1枚開いて、新しく開いたウインドウを任意のデスクトップの位置へ移動、
さらに指定したURLを表示。

何てことはできないでしょうか?
2016/08/17(水) 10:51:57.16ID:bfq0umE30
全部AppleScriptで書くことになりそうな気がするけど、
これはデスクトップを切り替えてってこと? ならそこはGUIスクリプティングで強引に、になる

新しく開いたウインドウを任意のデスクトップの位置へ移動
2016/08/17(水) 11:24:59.50ID:dSqJlw0F0
>>91
レスどうも。

同じデスクトップないでタブでなく新規ウインドウを任意のサイズで開いて
予め設定したURLでアクセスするものです。

用途は、普段デスクトップの半分くらいにウェブサイトを見てるウインドウを置いて
クリック一つで新たにもう半分にウインドウを開いて動画サイトなどを開きたい。ってものです。

appleScriptの割と使えるコード集
http://qiita.com/Kyoya1123/items/16af6d9b9be477c49566

こちらのサイトのcommand+nを使うスクリプトを参考にさせてもらい
目的は果たせました。

お騒がせしました。
2016/08/17(水) 12:47:13.41ID:Rr/dOV0u0
BTTでもできそう
2016/08/25(木) 08:01:47.98ID:U3mzhnco0
>>90
ここで先日お騒がせしました。
今の所うまいっていますが、もう少し便利に使いたいと思い再度アドバイスをいただけないかと。

実は先の質問はNetflixの為に使っていますが、>>92で参考にさせてもらったもので現在はNetflixを見ていますが、
リサイズしたウインドウでなく普段普通のウェブサイトを見てる大きなウインドウでコンテンツを探して再生ボタンを押すと大きなサイズの方で再生されます。(当然なんですが)

これをNetflixの再生リンクをクリックした場合に限って別ウインドウで(すでにあればそのウインドウで、なければ新規作成)開いて再生。
なんてことが出来ないか?と思っています。

各コンテンツのURLはhttps://www.netflix.com/watch/*ですのでこのリンクをクリックすると>>92のスクリプトを利用したように別ウインドウで再生したいです。

どんな風にすれば実現できそうですかね。
Safariの機能拡張でありそうな感じですけど、未だ見つけれていません。
2016/08/25(木) 11:28:06.42ID:aRnN8O3c0
リンクが本文に丸書きなら(↑みたいに)Automatorでサービス作って右クリックとかできそうだけど、んなはずもないだろうし、JavaScriptで書くことになるんじゃない
DOMを操作して、所望のリンクに対し、所望の位置、サイズの別ウインドウで開くように書き換え
それをブックマークレットかNinjaKit(Safari 9で動くか不明)か機能拡張(これも作る)で実行

甚だ面倒くちゃい
2016/08/25(木) 19:30:16.67ID:U3mzhnco0
>>95
ブックマークレットってのもあるんですね。
機能拡張を作ってしまうもよさそうですが全くつくり方がわからないので勉強しないとだめですね。
JavaScript・ブックマークレット・機能拡張
何ができるか考えてみます。
どうもありがとう。
97名称未設定
垢版 |
2016/08/30(火) 18:32:51.76ID:sDPWeDJD0
Sarafiでネットからファイルのダウンロード完了後
Macをシャットダウンさせることってできる?
2016/08/30(火) 20:45:53.65ID:dFEGu+MV0
あるplistを監視して内容が変更されるとそのplistをdefaults writeで書き換えたいのですが
どうすればいいか教えてもらえませんか?
2016/08/30(火) 22:16:36.01ID:UvQHwlbE0
シェルスクリプトでも書けばいいんじゃない?
2016/08/30(火) 22:38:18.80ID:XbvJ0yp10
>>97
ダウンロード完了は次のいずれかで捕まえられるんで、出来るかもしれない
1. EventScriptsを使う
http://www.mousedown.net/mouseware/EventScripts.html
http://www.mousedown.net/mouseware/Event_Parameters.html Download Eventsの所を参照
2. NSDistributedNotificationCenterを使う
name: com.apple.DownloadFileFinished
object: 絶対パス名
AppleScriptでも直接使える
類例: >>39http://d.hatena.ne.jp/zariganitosh/20120918/notification_driven_applescript
2016/08/31(水) 08:06:58.04ID:NMAxlMs90
>>98
p=/abs/path/to/plist
t=`stat -f '%m' $p`
while :; do
t2=`stat -f '%m' $p`
[ $t -ne $t2 ] && break
sleep 2 #秒数は適当に調整
done
defaults write $p key val
2016/08/31(水) 08:22:38.67ID:ODJ97hyu0
>>101
すごく難しいそうですが、解読して試せるように努力してみます。
どうもありがとうございます。
2016/09/14(水) 11:59:22.60ID:8WaIRyIs0
Automatorでシェルスクリプトの実行で2日格闘したんでその時の自分と困っている人用のメモ

中国語を扱うことになったんで、中国語の文字のファイル名書き出しで文字化け発生
環境変数のLANGを設定することで解決
utfのjp、en、znのどれでもよかった
ただし、Cに設定すると文字化けが発生

環境変数のLANGが設定が設定されていないなんて思いもよらなかった。
シングルクォートかダブルクォートに問題があると思ってずっと格闘してました。
試していないけどきっと、日本語以外の2バイト文字では文字化けが発生するんじゃないかな。
104名称未設定
垢版 |
2016/09/17(土) 21:03:54.92ID:7Ca13FPy0
シェルスクリプトでインストーラーが放り込むフォルダ以下の複数ファイル.aaxpluginのパーミッションを書き換えたいんですが記述がわかりません

現在Hive.aaxpluginというのが中にいます
everyoneのみReadOnlyなので自動で書き換えて任意のフォルダに移動できるようにしたいんですが


/bin/bash

記述

chmod go+wx /Library/Application¥ Support/Avid/Audio/Plug-Ins/*aaxplugin

エラー

The action “Run Shell Script” encountered an error.
chmod: Unable to change file mode on /Library/Application Support/Avid/Audio/Plug-Ins/Hive.aaxplugin: Operation not permitted

ディレクトリとファイルの指定方法は合っているように思うんですがコマンドに何か足りないんでしょうか
2016/09/17(土) 21:38:31.12ID:HcB2dViG0
ターミナルでsudo使ったほうがいいんじゃないの
go+wxは与えすぎな気がするけど
106名称未設定
垢版 |
2016/09/17(土) 22:33:11.91ID:7Ca13FPy0
確かにsudoだとパスワード入れて書き換えは出来るんですけどね
ファインダでドラッグしてもInfoで書き換えるにもパス入れるんで
パスワード入力が必要なフローだと考えると根本的に間違った発想でやってる気がしてきましたw
107名称未設定
垢版 |
2016/10/22(土) 18:19:31.20ID:7o16la/U0
Evernoteのアプリを開いて、全ノートをエクスポート、指定フォルダに保存

みたいな作業はAutomatorに頼めるものなの??
2016/10/23(日) 13:06:05.70ID:RDoa8KgJ0
そういうアクションが提供されてればいけるだろうけど、なければAppleScriptで書くことになるんじゃない
ちょっとググったら中の人っぽい人がここ紹介してた
http://veritrope.com/code_type/evernote/
https://discussion.evernote.com/topic/45051-feature-request-automator-actions/
109名称未設定
垢版 |
2016/10/24(月) 00:48:23.90ID:NgOB5EAW0
ふえぇ〜難しそうだな
110名称未設定
垢版 |
2016/10/26(水) 22:47:57.65ID:2NG3f2J30
小人は他のアプリともっと仲良くなるといいね
2016/10/28(金) 03:20:21.22ID:6SldvHCu0
サービスが今のXCODEで作成不能になったからこの先無いよ
ARCに移行してGC使ったコンパイルが出来ないからね
ほんとクソだとおもう
新しい小人が対応してるか知らんけど、前の小人用のサービス作るのにOSごと下げてコンパイルしないと行けない
古いXcodeも最新OSで落ちるようになったし
112名称未設定
垢版 |
2016/10/31(月) 23:09:01.72ID:GMLSW3WX0
難しくてなんのことやらw
2016/11/07(月) 20:47:00.30ID:rpzLlFi10
サービスをXcodeで作る必要性はいまいちわからんが
2016/11/08(火) 15:17:53.25ID:dALzpEK10
アクションだわ
2016/11/22(火) 16:57:21.71ID:N+7GRXzL0
830 :名称未設定 [↓] :2016/11/18(金) 11:32:35.49 ID:tGiTS7790
AppleScript他自動化ツールはこの先どうなる
https://www.macintouch.com/forums/showthread.php?tid=1189
Apple dumps Sal Soghoian, who gave us Mac automation tools
2016/11/22(火) 18:31:32.71ID:Bd+xxUk90
MBPの露骨な改悪なんかを見るとビジネス厳しくていろいろコスト削減に走ってるんだろね
2016/12/13(火) 22:26:02.66ID:bH6FG1AR0
automatorでシェルスクリプトを実行するアプリを作りたいんだけど、
そのアプリを実行する際にシェルスクリプトの一部のパラメーターをアプリを実行する際に毎回入力したいんだけどどいすればいい?
具体的には以下のスクリプトで
log show --predicate 'processImagePath endswith[cd] "backupd" and senderImagePath contains[cd] "TimeMachine"' --style syslog --start "YYYY-MM-DD HH:MM:SS"

YYYY-MM-DD HH:MM:SSの部分を毎回指定したい。
「テキストの入力を求める」、「変数の値を設定」、「変数の値を取得」等のアクションで変数に値を設定するまではできたんだけど、シェルスクリプト上でその変数をどのように記述すれば反映するのかが分かんないだよね。
2016/12/13(火) 23:57:45.87ID:xkHCHXNt0
入力の引き渡し方法を「引数として」に設定して
スクリプト内で$1とか$2とか使えばいいよ
変数に設定する必要もないと思う
119117
垢版 |
2016/12/14(水) 10:33:31.65ID:66yPOP2C0
>>118
Oh, Thank you!
それでよかったのか、目から鱗だ
2016/12/19(月) 15:37:48.10ID:dcVzYH3U0
俺もだ
2016/12/20(火) 12:20:28.95ID:9/VkeDvG0
フォルダアクションについての質問です。
Aというフォルダに
hh-0001.jpg、hh-0002.jpg…以下連番でファイルが入っています。
このフォルダに新たにドラッグ&ドロップでjpgファイルを追加したときに、
自動的に現在Aに入ってるファイルのうち、最大の連番数字部分に+1 を追加した名前に変更できるようにしたいのですがどうすればいいでしょうか?

例 Aフォルダに現在 hh-0001.jpg から hh-0099.jpg というファイルが存在しているとして、 xxx.jpgを Aフォルダに追加したら、その名前をhh-0100.jpg に自動的に変更する
2016/12/20(火) 16:08:50.43ID:3wb3v+340
とりあえずアクション付けてるフォルダ内で名前を変更するのは避けた方がいいかも
AppleScriptの方がまだ楽そうだなーと思いつつ試してたら名前の変更がループして止まらなかった
2016/12/20(火) 17:38:55.61ID:9/VkeDvG0
>>122
ありがとうございます
名前の変更されたファイル が再度アクションで名前の変更を…が繰り返されるってことですね。
それでは別のフォルダBにアクションをつけて、そこにファイルをいれると、Aというフォルダの最後の数値+1の名前をつける というのでもかまいませんので、よかったらスクリプトを教えていただければ助かります。
2016/12/20(火) 19:51:25.85ID:3wb3v+340
フォルダアクションで試したやつ→ http://pastebin.com/fgU53JiP
デスクトップの"destination"フォルダ(作っとく)に移してる

肝心の処理に問題あるよ
・ファイル数が多いと遅くなる(やり方変えないと:ソート結果を吟味して使うか、連番を別ファイルに保存して読み書きするか、シェルスクリプトでサクっとやるか等々?)
・連番が9999を超えると破綻する
それと
・"destination"に元と同じ名前のファイルがあることも考えてない

アクション付けたフォルダは結局素通りになるんで、ドロップレットにした方がいいかもしれないと思った
2016/12/20(火) 20:18:35.45ID:hzhEbWLJ0
オレも作ったぞw これにフォルダをドロップ

種類あプリケーション
Shellスクリプト実行 シェル:ruby 入力:引数
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
def rename dir
pat = "hh-0000.jpg"
sute, pre, ext = pat.match(/^(\D+)\d+?(\..*$)/).to_a
files = Dir.entries(dir).select{|s| s =~ /#{ext}$/}
ser = files.select{|s| s =~ /#{pre}\d+#{ext}/}
ent = files - ser

for i in (0...ent.size)
fold = sprintf "%s/%s",dir, ent[i]
fnew = sprintf "%s/%s%04d#{ext}", dir, pre,i+ser.size
cmd = "mv #{fold} #{fnew}"
system cmd
puts cmd
end
end

ARGV.each do |f|
rename f
end
2016/12/20(火) 22:04:25.55ID:Q8f2PhO+0
俺も
シェルスクリプトを実行:bin/bash 入力:引数として
ファイルを複数追加するのは考慮してない

regex='hh-([0-9]{4})¥.jpg'

[[ $1 =~ $regex ]] && exit

dirname=$(dirname "$1")
next=$(ls "$dirname" | grep -E $regex | sed -E "s/$regex/¥1/g" | sort -n | tail -1 | xargs expr 1 +)
newname=$(printf "%s/hh-%04d.jpg" "$dirname" "$next")

mv "$1" "$newname" && printf "%s¥t%s¥n" "$1" "$newname" >> /tmp/autorename.log
echo "$newname"
2016/12/20(火) 22:07:21.22ID:Juw3FbQ90
>>121
時間つぶしに作ってみたよ
他にも作ってる人いて驚いたわー@@;
フォルダアクションでapplescriptです
フォルダに入ったファイルを移動しないでリネームしてます

同名ファイルチェックは入ってますが同名が無くなったらリネームする仕組みのため
test_001.jpg
test_003.jpg
の二つがあった場合
test_004.jpgではなくtest_002.jpgとなります

http://pastebin.com/ZE1DN0r3
2016/12/20(火) 22:32:41.17ID:Q8f2PhO+0
複数ファイル対応した
複数追加する時の順序が重要ならもう少し工夫が必要

regex='hh-([0-9]{4})¥.jpg'
for fname in "$@"; do
[[ $fname =~ $regex ]] && continue

dirname=$(dirname "$fname")
next=$(ls "$dirname" | grep -E $regex | sed -E "s/$regex/¥1/g" | sort -n | tail -1 | xargs expr 1 +)
newname=$(printf "%s/hh-%04d.jpg" "$dirname" "$next")

mv "$fname" "$newname" && printf "%s¥t%s¥n" "$fname" "$newname" >> /tmp/autorename.log
echo "$newname"
done
2016/12/20(火) 22:41:51.61ID:Juw3FbQ90
>>127
連番だし
全ファイル検索する必要ないと思って
ディレクトリのファイル数が多い場合はファイル数引く5の連番から検索するようにしてみた
これでファイルが大量に有っても連番なら時間掛からない
これのせいで穴埋め機能は前5つまでになりました
それ以前の抜けファイルは無視されます。

http://pastebin.com/AAuEv1g0
2016/12/20(火) 22:56:42.15ID:9/VkeDvG0
うおおおおおお たくさん..
みなさん本当にありがとうございます。
質問したあと入院することになっちゃったので
退院してから試すことになりますがとりいそぎお礼のみ。
2016/12/20(火) 23:23:04.01ID:Q8f2PhO+0
2chにコピペしたらバックスラッシュの文字が変換されてるっぽいので
ここからコピペして実行するには¥をバックスラッシュに戻してからじゃないとダメっぽい
2016/12/21(水) 00:02:50.11ID:yaEwFkhb0
>>128
素のmvだと微妙なタイミングで上書きリスクがあるので-vnオプション付けたほうが良かったかも
2016/12/21(水) 00:25:42.25ID:ONgl77l30
>>131
BathyScaphe使ってるならそのせい

SafariやFirefoxで書けばOK
それをSafariやFirefoxで開けばOK
ただしBathyScapheで開くとNG

BathyScapheで書くとNG
SafariやFirefoxで開いてもNG

BathyScapheが絡むととにかくNG

俺はBathyScapheユーザ
こき下ろしてる訳ではない
2016/12/21(水) 00:29:07.85ID:yaEwFkhb0
>>133
おーそうなんだ知らなかったありがとう
文字コードを変えちゃうってのはちょっと行儀がよろしくないね
2016/12/21(水) 02:08:23.46ID:gaWktUmz0
ログをわざわざXMLファイルに変換してるブラウザだからなあ
使用と管理には便利ではあろうけど
2016/12/21(水) 08:58:31.05ID:EP78ihvX0
他のブラウザで書いたレスは、ファイル上はバックスラッシュのままになってるんだけどね
うまい具合に>>125
BathyScapheだとコピペ再利用できないけど

>>126と合わせて抽出
plutil -convert xml1 -o - ~/Library/'Application Support'/BathyScaphe/Documents/新・mac/1416219152.thread | grep -E 'def rename dir|exit' | head -2
137121
垢版 |
2016/12/22(木) 08:26:54.24ID:Pme9T4vn0
>>121@入院中
みなさんご回答ありがとうございました。
自分の環境を書いてませんでしたが、El Capitan 10.11.6です
スクリプトのことはまったくわからないパソコン初心者なので的外れな返答ご容赦を。

>>124 3wb3v+340 さん 
すみません。よくわからず…
試したこと
1.空の destination フォルダをデスクトップに作成
2.デスクトップに Aフォルダを作成し、 hh-0000.jpg hh-0001.jpgを入れる
3.Aフォルダに >>124のapplescriptを実行するフォルダアクションを設定
4.Aに test.jpgをドラッグ&ドロップ 
メニューバーにギアボタンが回るもAもdestinationも特にいれたtest.jpgにも変化せず。
手順に間違いがあるならご指摘いただければ幸いです。

>>127,129 Juw3FbQ90 さん
Aフォルダに あらかじめ test_0000.jpg と test_0001.jpgをいれて、
>>129のスクリプトを実行するフォルダアクションを設定しました。
Aに、新規に xxx.jpgファイルを追加。
追加したファイルが test_0002.jpg にリネーム後、すぐにまた test_0003.jpgにリネームされ
また 0002にもどり、また0003..とループするようです。

>>125 hzhEbWLJ0 さん
BathyScapheで閲覧してたので、 ¥マークをバックスラッシュにして問題なく
当初目的の動作ができました。

>>126,128 Q8f2PhO+0 さん
¥マークを バックスラッシュに変更して問題なく
当初目的の動作ができました。
2016/12/23(金) 01:43:49.64ID:hL49U/2/0
>>124だけど、なんか変だね
あのスクリプトをあらためてコピペで保存して、その手順の通りにやって動く
うちはOS 10.12.2で違うけど、それに関係する書き方もないはずだし

少し変えてスクリプトエディタで動かして様子見ることもできるけど、先に書いた問題もあるし、なにより他の人のレスで目的は達成できたようだし、用なしってことでいいかな?

これは動かなかったことと関係ないけど、
・hh-0000.jpg hh-0001.jpgを入れとくべきはdestinationフォルダでは?
・最初の例が-0001からだったんで-0000は想定してない(test.jpgはdestinationにhh-0001.jpgになる)
が気になった

あー、一応
3.があるから合ってると思うけど、スクリプトは単体でフォルダアクションとして使うもので、Automatorに組み込むものではないよ
139128
垢版 |
2016/12/23(金) 01:54:59.51ID:D9yaZIab0
>>137

>>125はhh-0000.jpgの形式になってるファイル数をベースに新しいファイル名を決めるので
連番に歯抜けがあった場合に既存のファイルが上書きされる可能性があるよ
mvコマンドのオプションに-nか-vnを付けておくとリネームは失敗するけどデータが消える心配はない

cmd = "mv -vn #{fold} #{fnew}"


>>128は数字順にソートして一番大きい数字をベースに新しいファイル名を決めるので連番に歯抜けがあっても上書きの心配は無い
ただ一番大きい数字を取得してからファイルをリネームするまでの一瞬の隙間に
リネームしようとしたファイル名のファイルが新しく追加された場合はそれが上書きされてしまう可能性がある
なのでこっちも念のためmvコマンドの行を以下に変えておくといいと思う

mv -vn “$fname" "$newname" >> /tmp/autorename.log

お大事に
140121
垢版 |
2016/12/23(金) 04:45:25.18ID:xgu89Al20
>>138
とても勉強になるのでご迷惑でないならあと少しお付き合いください
ご指摘箇所を改め、少し詳しくやった手順は以下です。

1.デスクトップに A と destination の2つの空フォルダ作成
2.destination に hh-0001.jpg、hh-0002.jpg を入れる
3.Automatorを起動 > 新規作成- フォルダアクション を選択。
 「フォルダアクションは次の場所に追加されたファイルやフォルダを受け取る」を
 デスクトップの A に設定
4.その下にウインドウ左にある「Apple Scriptを実行」アクションをドラッグ&ドロップし、
 on run {input, parameters}
(* Your script goes here *)
return input
end run
の4行を全部消去して>>124 http://pastebin.com/fgU53JiP のRAW Paste Data の全文をコピペ
5.ファイル- 保存で 124.workflow として保存
6.念のため デスクトップのAフォルダを右クリック-「フォルダアクション設定」でAフォルダに124.workflowが設定されているか確認
7.test.jpg を フォルダ Aにドラッグ&ドロップ
メニューバーにギアアイコンがでて回転するが、
A フォルダの test.jpg に変化なし。
destinationフォルダにも変化なし。
..という状況です。
見よう見まねで使い始めたど素人なので、たぶん私の手順に間違いがあるんだと思います。
141121
垢版 |
2016/12/23(金) 04:57:25.82ID:xgu89Al20
>>139
夜の病院、超怖いです。病室一人なので余計.. 
ご指摘のオプションを早速追記してみました。
正規表現 と シェルスクリプト というのを勉強しないと
たぶん理解できないものみたいなので、じっくり紐解いて理解していこうと思います。
ありがとうございました
2016/12/23(金) 06:47:53.63ID:hL49U/2/0
>>140
あーやっぱAutomatorスレなのにAutomator使わなかったのが悪かったね
>>122最後わかりにくいか
>>138最後

試すなら>>140の3.〜6.を変えて
a. ユーティリティフォルダにあるスクリプトエディタを開いて、スクリプトをコピペ
それを一旦デスクトップにでも適当な名前で、ファイルフォーマット: スクリプトで保存
b. Finderの移動メニューで、optionキーを押してライブラリに移動
そこに Scripts フォルダを作り、Scripts フォルダ内に Folder Action Scripts フォルダを作る
c. 保存したスクリプトを Folder Action Scripts フォルダに移す
d. 移したスクリプトがフォルダアクション設定に現れるからAフォルダに設定
143121
垢版 |
2016/12/23(金) 10:20:29.83ID:xgu89Al20
>>142
ああああ、やっぱり・・
最後の文、自分で理解できなかったのに、そこを素直に聞かなかったのがだめだったんですね。

今、試したところ完璧に動作しました。感謝&感激です。

ピクチャーフォルダー内に目的のフォルダ(destination)を置きたかったので、
ここを参考に、ttp://d.hatena.ne.jp/zariganitosh/20100924/apple_script_alias_posix_file
4行目の property desktopFolder : path to desktop を
→property pictureFolder :path to pictures folder に変更
5行目の destFolder : (desktopFolder as string) 部分
→destFolder : (pictureFolder as string)に 変更
とこわごわ書き換えてみましたがそれもうまく動作しました。
重ね重ねありがとうございました。
2016/12/23(金) 14:36:41.85ID:hL49U/2/0
一応お伝え

もしあれを多少とも使うなら、destination って名前もお好みに変えた方がいいと思うよ
実際置くのもスクリプト中も
日本語とかアクセント記号とか使わず、1バイトの英数文字(空白もあってもいい)だけ使うのがなにかと簡単

それと、Aフォルダの存在意義がなくなるからドロップレットにした方がいいと思うよ>>124最後
1. スクリプトの
on adding folder items to transitFolder after receiving addedFiles を
on open addedFiles に変えて、デスクトップにでも適当な名前で、ファイルフォーマット: アプリケーションで保存
(スクリプトエディタの新規書類に全体コピペしてしてから変えて保存するか、元のスクリプトを変えたらoptionキー押しながらファイルメニューを開いて別名で保存する)
2. 保存したアプリケーション(=ドロップレット)にjpgをドラドロ
2016/12/24(土) 15:36:35.15ID:T1hiLS+H0
右クリックのサービスとアプリケーションメニューのサービスでは昇降順が逆になるな
なんぞこれ
146121
垢版 |
2016/12/24(土) 16:52:37.47ID:TcyvMB210
>>144
ありがとうございます。
早速 appも作ってみてうまく動いて感動中です。
2017/01/20(金) 16:39:57.80ID:52ZJAtjC0
ほしゅ
2017/03/11(土) 19:45:29.12ID:zd6GS2KL0
iOSにWorkflowっていうのを入れたら便利だったんですけど
これにはいろんな人が作ったレシピみたいのが見れたり使えたりするような仕組みはないの?
2017/03/11(土) 19:57:19.91ID:mrXbMUNB0
板違い
2017/03/11(土) 20:38:03.62ID:AGtC7UZl0
>>149
いや、合ってるだろ

自分は必要に応じて自作するから、質問者に教えてあげられることはないけど
2017/03/12(日) 01:28:51.58ID:nEBnPJX50
ありがと
iPhoneのWorkflowは誰かが作ったのをそのまま使ったり、すごく簡単なのは項目?をドラッグしてきたりして
素人なりに便利なんだけど
automatorのほうはそのつもりで使おうとしたら
いまいち選択項目が少ないと思ったんだ
いろいろできる人が使うものなんだね
2017/03/20(月) 13:51:38.63ID:QmXOAeo00
ログインする度に自動的にMACアドレスを変更(偽装?)する様なことをしたいのですが、なかなか上手く出来ません。お助けください。
2017/03/20(月) 17:07:56.96ID:3Scxl3yk0
何のために?
154名称未設定
垢版 |
2017/03/22(水) 09:46:10.95ID:+30Sjq6b0
~/.login って使えるんだっけ?>>ログインする度に
2017/03/22(水) 16:54:20.03ID:vMrfYEg90
MACアドレス変更しようとするくらいなら少しくらいググれよ
http://stackoverflow.com/questions/6442364/
2017/04/09(日) 09:04:51.77ID:iSIoUPbi0
Chromeを操作しようとしているのですが2点うまくいきません

1. launch applicationでURLが渡らない

とりあえず shell script で
open -a /Application/Google Chrome.app "$1"
としました。

2. Watch Me Doがエラーする

 マウスでWebサイトのボタンをクリックする動作を記録したのですが、Chromeが無いとかそんなようなことを言います。

同じことをSafariでやってうまく行っています。
2017/04/09(日) 16:41:51.41ID:qpjNnMF30
これ?
http://stackoverflow.com/questions/31301834/automator-not-working-with-google-chrome
2017/06/10(土) 22:27:55.41ID:T2gkE7Bm0
ほしゅ
159名称未設定
垢版 |
2017/07/02(日) 08:08:20.16ID:Lw2uOtYR0
AppleScriptを実行 でopen locationが動かない。
Automator上で実行すると動くんだけどサービスやアプリケーションで保存して実行するとエラーになる。
シェルスクリプトのopenコマンドで代用できるけど。

on run {input, parameters}
open location "http://www.apple.com";
return input
end run
2017/07/02(日) 09:50:59.95ID:NRdcxR7q0
バグとしてAppleのディスカッションとかTwitterでも指摘されてる
2017/07/23(日) 17:10:55.30ID:iUTVgUKk0
誰も居なさそうだけど、分かる人がいれば教えて欲しい。
AutomatorでSafariのウインドウサイズ(位置も)を固定するアプリを使ってるんだけど。
tell application "Safari"
activate
tell front window
set bounds to {0, 22, 1280, 803}
end tell
end tell

としててset bounds toの部分で803ってするとウインドウの中身?が2560x1441になってしまう。(RetinaモデルのMacを使用)
なので本当なら802.5とかにすれば2560x1440になるんだと思うけど、コンマなんてしていできないみたいで困ってる。

うまく2560x1440(1280x720)にセットするにはどうすればいいのかな?

何を言ってるのかわからないかもしれないにで必要なら補足しますのでよろしく。
2017/07/23(日) 18:06:53.30ID:WVmjcBEb0
>>161
それAppleScriptだから
AppleScriptのスレで聞いた方がいいよ
2017/07/23(日) 18:26:49.71ID:iUTVgUKk0
Automatorじゃ難しいですよね。
他のスレを探してみますよ。
2017/07/23(日) 18:55:16.94ID:Ioq0FGvd0
1dot=2pixel(以上)な環境は1pixelは気にすんなってこともなきにしもあらず
Cocoa(NSWindow/NSView)自体は元々座標もサイズもfloatだが、AppleScriptでIntegerにしてしまったのがだなあ

Cocoa-AppleScriptがせっかく使えるので、NSWindowを取得して、ダイレクトに座標(bound)設定すればかな。NSWindowの取得自体はCocoa-AppleScriptでは難しそうなのでObjective-Cなんぞでちっちゃなオレオレフレームワーク作ってとかかな
2017/07/23(日) 19:24:18.36ID:iUTVgUKk0
なんだかか難しそうですね。
何に利用してるというとNetflixやプライムビデオをMacで見るときに
いつも同じウインドウサイズで同じ位置にウインドウを配置させたいからなのですが、
どうしても1ピクセルウインドウの下に余るので気になってしまうので改善したい。

でも自分の知識ではNSWindowなどで新規ウインドウを任意の位置サイズで開くなど無理なのでこちらで聞いてみましたがCocoaとか難しそうですね。

なんにせよスレ違いなようなのでこれくらいにしておきます。
レスどうもありがとうございました。参考になりました。
166名称未設定
垢版 |
2017/07/24(月) 17:50:13.84ID:0gmw+sp20
一回手動で理想的なウインドウサイズにしてから、
bounds of front window
で値見てみれば?
2017/08/10(木) 09:49:14.39ID:Aoq9sCqn0
>>159
これ、10.12.6で直ってたな
2017/09/26(火) 11:23:37.91ID:Xve8ayDh0
エロ動画検索に
シェルスクリプトを実行
open -a "Google Chrome" "http://www.dmm.co.jp/search/=/searchstr=$@";
をやって見たら
パコパコがハ°コハ°コになっているらしく、ハ?コハ?コで検索されてしまいます。
SafariやFireFoxでは大丈夫なんですが、Chromeでうまくやる方法はないですか?
nkf、iconv、LANG=は試して見ました。
2017/09/26(火) 12:02:20.77ID:vWNylSVO0
iconvで -f utf-8-mac -t utf-8 とかやっときゃいいんじゃないの
2017/09/26(火) 13:18:33.75ID:Xve8ayDh0
試してみました
2017/09/26(火) 16:34:07.86ID:UySVS6540
169ので解決するだろ

$ cat input.txt | od -tx1c
e3 83 8f e3 82 9a e3 82 b3
ハ ** ** ゚ ** ** コ ** **

$ cat input.txt | iconv -f utf8-mac -t utf8 | od -tx1c
e3 83 91 e3 82 b3
パ ** ** コ ** **
2017/09/27(水) 10:52:10.86ID:GfYNz9a00
すまん
何かタイプミスをしてたみたい
トンクス
2017/12/03(日) 20:03:50.58ID:2bveupo20
chromeで10分起きにクリックする動作でマクロ組みたいんだが…
chromeで記録してもこういうエラーが出て進めない アクセシビリティもONになってるしchromeだけこうなってしまうのはなぜだろう
http://upup.bz/j/my38169eKRYtZiBC4IZZqdI.png
2017/12/03(日) 21:25:00.55ID:JcK6uLe00
Chromeである必要あんの?
Safariでやっとけばいい
レスを投稿する


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