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

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

「ご主人様ご命令を!」OS Xでスクリプトスレ

1 :名称未設定:02/01/09 12:28 ID:W9UQWJz+
Mac OS Xでスクリプトな話題を語るスレです。
AppleScript、Perl、シェルスクリプトなどの、発表、質問なんかあったらどうぞ。

関連スレはこちら
●Shell や、DarwinでXFree86などの話題はこちら
Mac OS XをUNIXとして使ってる人の為のスレ:
http://pc.2ch.net/test/read.cgi/mac/1001930035/
●Classic版AppleScriptはこちら
おもろい、めずしいアップルスクリプト発表会:
http://pc.2ch.net/test/read.cgi?bbs=mac&key=971295440&ls=50
●Macのプログラムについてはこちら
■■Macでプログラミング■■:
http://pc.2ch.net/test/read.cgi?bbs=mac&key=1001404151&ls=50

2 :1:02/01/09 12:29 ID:W9UQWJz+
ちなみに簡単に説明すると
・AppleScript
Apple純正のスクリプティング環境。Script Editorで記述する。
ものすごく高級(人間の言語に近い)なので取っつきやすい。
そのためやや冗長になる。主にアプリケーションを操作して、自動化を行う。
例)tell application "Finder" to empty trash
ごみ箱を空にする。

・Perl
もともとはUNIX用に開発された言語。C言語よりは高級。テキスト処理を最も得意
とする。やる気になれば、モジュールなどを利用してネットワークプログラミング
なんかも出来る。テキストファイルに記述して、シェルから実行できる。
例)
#!/usr/bin/perl
print "Hello World!";

・シェルスクリプト
コマンドを記述して連続して実行できる。いわゆるバッチ処理を行う。
ifなどの制御構文や引数なども利用できる。
例)
#!/bin/csh
echo Omaemona-
banner Omaemona-

適当に書くとこんな感じ

3 :後藤:02/01/09 13:05 ID:GB1YVp8N
んじゃ、とりあえず冬コミ用CD-ROM作成に使ったcshスクリプト

#!/bin/csh

while (1)
hdiutil burn $1 -noverifyburn -speed 12
echo -n '^G'
end

こいつをburncdという名前で保存してPATH通ってる場所に置き、
burncd foo.dmg
みたいにしてやれば一つのイメージファイルで繰り返し
CD-Rが焼ける。一枚焼き終わるとメディアを吐き出して
ベルを鳴らすので、新しいメディアに入れ替えてやれば
OK。止めるときはCtrl-C。
ところで、'^G'は'^'+'G'じゃなくてCtrl-Gなので、
普通のテキストエディタだと入力するのが面倒かも。
viならCtrl-V,Ctrl-Gで入力できる。
面倒なら
echo -n '^G'
の行を削除しちゃってもベルが鳴らないだけで問題ないです。

4 :後藤:02/01/09 13:08 ID:GB1YVp8N
あ、-speed 12は普通いらないと思う。
12倍速を指定するオプションだけど、基本的に-speedオプションを
つけなきゃドライブの最高速で焼きます。

5 :名称未設定:02/01/09 13:14 ID:nXlWdL4/
mtuを自動的に設定するのはどんな感じになりますか?

6 :1:02/01/09 15:12 ID:W9UQWJz+
>>3
激しくイイ

>>4
自動的とは?
sudo ifconfig ppp0 mtu 1492
MTUを設定するには上でよいかと思われ。

7 :1:02/01/09 15:14 ID:W9UQWJz+
誤爆スマソ
>>5でした。

8 :名称未設定:02/01/09 15:39 ID:2PyuibIG
>>2
> もともとはUNIX用に開発された言語。C言語よりは高級。

この辺をもう少し詳しく説明してください。

9 :名称未設定:02/01/09 16:03 ID:N9g+9/d2
>>8
「高級」ってのは高級言語って事。品質が高いって事じゃないよ。
簡単に言うと、
低級言語はシステムの細部まで制御できるけど、人間には分かりにくい。
高級言語は細部までは制御できないけど、人間には分かりやすい。つまり書きやすい。
ってな感じかな。

10 :名称未設定:02/01/09 16:09 ID:PHeLy5sU
こういうスレっていかにも「彼」が来そうな感じだな…
荒れないことを祈る

11 :名称未設定:02/01/09 16:17 ID:0Nt8vguC
>>10
「彼」ね…
ま、マターリと無視で逝こう。

12 ::02/01/09 16:19 ID:N9g+9/d2
こわがりすぎー。

13 :アップルスクリプトすれの555:02/01/09 20:25 ID:9wBaEHEX
スレたてお疲れ様です。一応簡単な参考リンクをば
★Shell Scriput★
Terminalやコマンドが分からん方へ
Japanese Manual Project for FreeBSD
http://www.jp.FreeBSD.org/man-jp/
UNIX 入門
http://www.wakhok.ac.jp/~maruyama/Unix92/Unix92.html
UNIXの部屋
http://x68000.startshop.co.jp/~68user/unix/

Unix板
便利なシェルスクリプト見せろ
http://pc.2ch.net/test/read.cgi/unix/996949546/
シェル、オークの質問コーナー
http://pc.2ch.net/test/read.cgi/unix/1000303370/
連番のH画像を一気にダウンロードする
http://pc.2ch.net/test/read.cgi/unix/979106537/
☆シェルスクリプトを勉強するにあたって☆
http://pc.2ch.net/test/read.cgi/unix/989659936/

14 :アップルスクリプトすれの555:02/01/09 20:27 ID:9wBaEHEX
Apple Script
なんとなくh外してます‥‥‥。
OS 9までが書かれていますが、とっかかりにはいいかと思います。

AppleScriptタコ入門
ttp://www.macos.com/octopus/

ビブロスのプログラム
ttp://www.dd.iij4u.or.jp/~banban/program/program.html

鳶嶋工房(Tobishima-Factory)
ttp://homepage1.nifty.com/ton_b/

15 :名称未設定:02/01/09 20:59 ID:Jl9YH57q
なんかスレタイトルがエロイなw

16 :名称未設定:02/01/09 22:12 ID:eV/+f6cz
tell メイド ...

それはいいとして、Darwin1.4をCD-Rに焼かずに
インストールする方法ありませんか?
できればシェルスクリストキボンヌですが。

17 :1:02/01/10 16:53 ID:MoZHoqlb
>>13
ありがとです。つーか漏れはシェルスクリプト無知なんで参考になりました。

んで、ちょっとエロいんですがAppleScriptで

tell application "Internet Explorer"
set MainURL to first item of (GetWindowInfo -1)
end tell
tell application "Terminal"
do script with command "wget -r -L -l 1 -A .jpg -x " & MainURL
end tell

とすると、IEで今開いているページのリンク先のJPEG を根こそぎ
ダウンロードしてくれます。wgetインストールしてなきゃ駄目よ。
ホームディレクトリに、ダウンロード先の階層のフォルダを作ります。

インストールの参考に
ttp://dec.sakura.ne.jp/~irodori/os_x/install_wget.html
がよかです。

18 :1:02/01/10 17:01 ID:MoZHoqlb
あと、実行環境ですが、
Scriptmenu がおすすめです。メニューバーから実行できます。
お気に入りに登録して出来るかなーと思ったけど、出来ませんでした。
Classicでは出来たのに・・。
http://www.apple.com/applescript/macosx/script_menu/

19 :へたれ555:02/01/10 20:31 ID:GgDJ+9wm
>>17
なるほど、便利だ (w 。
俺はApple Scriptがあんまし分からんので、他人の書いたのを
見るだけで参考になりますです。では私もお一つ。
file typeとcreatorrをセットするscriptです

#!/bin/sh
SETFILE="/Developer/Tools/SetFile"
COMMAND=`basename $0`
if [ $# -lt 1 ]; then
echo " Usage: $COMMAND file [...]" 1>&2
exit 1
fi
while [ $# -gt 0 ]
do
if [ ! -f "$1" ]; then
echo ""$1" isnot file" 1>&2
shift
fi
case "$1" in
*.txt) $SETFILE -c ttxt -t TEXT "$1"
shift ;;
*.html | *.htm) $SETFILE -c iCAB -t TEXT "$1"
shift ;;
*.jpg | *.jpeg) $SETFILE -c prvw -t JPEG "$1"
shift ;;
*.gif) $SETFILE -c prvw -t GIFf "$1"
shift ;;
*.png) $SETFILE -c prvw -t PNGf "$1"
shift ;;
*.rm) $SETFILE -c PNst -t PNRA "$1"
shift ;;
* ) echo ""$1" is undefined file"
shift ;;
esac
done
exit

20 :へたれ555:02/01/10 20:37 ID:GgDJ+9wm
長過ぎた、はしょれば良かった‥‥。
typeとcreatorはお好きなやつに直して使ってくらはい。
拡張子で判別してるんで、ファイルに拡張子はつけといて。
あと拡張子が大文字の場合は考えてないので、その辺りは
適当に修正をば。

% echo * | xargs typeset

てな感じで使うとります。

21 :1:02/01/11 22:56 ID:xBGrrn1O
>>19 シェルでクリエータを変更できるってすげぇ。知りませんでした。
もうちっと勉強します。
>>17 のスクリプトでjpgをmpgにして、ダウソしまくったので、
作ったスクリプト。
もうちっと改良が必要だけど、細切れmpgムービーを一辺に開いて、
実行すると結合したものを一つ作ってくれる。QuickTime Pro版が必要。

tell application "QuickTime Player"
make new movie
set Num to count movie
try
repeat
tell movie Num
rewind
select all
copy
select none
end tell
close movie Num saving no
tell movie 1
paste
select none
end tell
set Num to Num - 1
if Num = 1 then exit repeat
end repeat
end try
save movie 1 as self contained
end tell
今、ダウソから結合まで一気にやってくれるスクリプトを妄想中。
エロって奥が深いわ(w

22 :名称未設定:02/01/11 23:26 ID:l9oVwKDJ
アップルスクリプト発表会スレでお世話になった563です。
私もエロ関係という事でひとつ。
よく、海外モロムービーなどの紹介ページで直リンじゃなくって直アドって言うのかな。
アドレスを書いてあるけど、クリックできないやつ。
あれって、ダウンローダー使ってる人は良いと思うのですが、
晩年IE使いな私のような初心者だと、どうやって落とそうか悩みます。
IEのダウンロードマネージャで、以前の落とした奴を変更したりしてました。
そこで、アドレスをコピペで落とせるようにできたらいいなと考えました。

property Download_Folder : {}
if Download_Folder = {} then
set Download_Folder to choose folder with prompt "ダウンロード先フォルダを選択してください"
end if
tell application "Internet Explorer"
Activate
set The_URL to text returned of (display dialog "URLをペーストしてください" default answer "" with icon 1)
set Old_Delimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {"/"}
set File_Name to (Download_Folder as text) & last text item of The_URL
set AppleScript's text item delimiters to Old_Delimiters
GetURL The_URL to file File_Name
end tell

初回のみ、ダウンロード先フォルダを選択します。
IE使いな方、少量の直アド動画用にどうぞ。
「いや、ここはこうしたほうがいいぞ」というのも教えてください。

23 :名称未設定:02/01/12 12:11 ID:6P6xkRHp
>>22
>直リンじゃなくって直アドって言うのかな。
イマイチよく分からんので、エロでもグロでもペドでも良いから、
リンクはるとよいと思われ。検証しやすいし。

丁寧な口調でエロだとオモシロイ.....

24 :1:02/01/12 21:29 ID:6P6xkRHp
>>22
set The_URL to text returned of (display dialog "URLをペーストしてください" default answer "" with icon 1)

ここって、コピーしてあるって前提なら、
set The_URL to the clipboard
の方が1ステップ減らせるんじゃないかな。それとも不完全なURLを想定していますか?
あと、コピーもIEにやらせれば良いかと思いましたが、IEにはcopyコマンド無いのね。ムカツク

さっきOS Xのディスクがクラッシュしまちた・・。Classicから書いています。検証できません。スマソ
あと、漏れもURLキボンヌです。

25 :22:02/01/13 04:16 ID:2rsNsw17
えっと、直接リンクが書いてあって、そこへ飛ぶと目的の動画ファイルが
クリックできるような場合だと、右クリックとかcontrolクリックで落とせますが、
そうではなく、動画ファイルのアドレスをクリックできない状態で載せている場合です。
つまり、最後に.mpgとか.aviとかになってるクリックできないURLです。

なんとなくh抜きですが、ここの1/01,1/03更新分のやつとかです。
ttp://sex.kir.jp/%7Esex/bap/test3.html

>>1
あっ、そうか・・・わざわざユーザにペーストさせる事も無いですね。
ということは、selected textで選択したものでもいいんですね。
7行目を set The_URL to selected text に変えました。
いちいちペーストするダイアログも出ないし、良い感じです。

26 :1:02/01/15 05:00 ID:mXt5fSFq
>>25
おー、selected textとは思いつかんかった!
んで、もう少しいじってみました。

property Download_Folder : {}
if Download_Folder = {} then
set Download_Folder to choose folder with prompt "ダウンロード先フォルダを選択してください"
end if
tell application "Internet Explorer"
Activate
set Old_Delimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to return
set The_Text to selected text
set The_URLS to every text item of The_Text
display dialog The_URLS as text
repeat with The_URL in The_URLS
set AppleScript's text item delimiters to {"/"}
set File_Name to (Download_Folder as text) & last text item of The_URL
set AppleScript's text item delimiters to Old_Delimiters
GetURL The_URL to file File_Name
end repeat
set AppleScript's text item delimiters to Old_Delimiters
end tell

これだと、URLが連続で並んでるトコロをまとめて逝けますね。
リスト作っといて、一気にIEにダウソさせるという使い道もありますな。

27 :名称未設定:02/01/15 16:42 ID:aA+wGFOc
age

28 :良スレの予感!!:02/01/15 16:45 ID:wDyUim8T
(・∀・)イイ!!

29 :22:02/01/15 20:28 ID:kD3h40sG
おぉぉぅ!全部いっぺんにできるようになってる!!!
なるほど、delimitersにreturnを使う事なんてできるんですね、知りませんでした。
何らかの文字列を{""}で書かなければならないと思ってました。
改行を区切りにして全てのアイテムをThe_URLSに入れていると考えてよろしいですか?
そして1個ずつ取り出して処理するのですね。
こうやって見せてもらった後なら、なるほど〜と思えます。
変数も同じような形で書いて頂けたので理解しやすかったです。
ありがとうございます。

30 :(・∀・):02/01/16 02:55 ID:SXNs7LlH
>>17 使えるよ。

31 :1:02/01/16 19:28 ID:3eN3MQ+b
>>26
補足ですが、display dialogの行はいりませんでした。
漏れが確認のために入れてただけです。

>>29
うん、そうです。改行で分解してってのはperlとかなら常套手段なんです。

32 :へたれ555:02/01/16 20:24 ID:DORhbgxP
>>17
のやつ、今ふっと思ったんだがwgetのオプションはこれでいいかと
wget -r -A jpg

画像ファイルにはリンクが無いので、↑のオプションで
リンクの深さは自動的に1になりますです。

スレとあんまし関係無さそうなんで下げ。

33 :1:02/01/17 01:52 ID:zEyu23tK
Ahyazillaで書いているので、改行おかしかったらすいません。

>>32
-l のオプションっておそらく、引数のURLのhtmlファイルの階層な
んで、明示的に書きました。-A jpgで-l なしだと、自動的に1階層な
んだけど。

wget -l 2 -A jpg

と書いたら、2階層目まで行くんで。まぁ好みです。

34 :1:02/01/21 21:24 ID:gwSxCLI9
寂しいので・・テコ入れスクリプトヽ(`Д´)ノウワァァン!

property Download_Folder : {"~/SiteArchive/"}
property RezDown_Folder : {"~/SiteArchive/rezfiles/"}
tell application "Internet Explorer"
set MainURL to first item of (GetWindowInfo -1)
end tell
set choiceList to {"Jpegだけ1階層", "Jpegだけ階層制限なし", "Mpegだけ1階層", "Mpegだけ階層制限なし", "ユーザ定義", "png,jpg,rezファイル・・", "サイト丸ごと2階層", "サイト丸ごと階層制限なし"}
set DownMethod to choose from list choiceList
set DownMethod to DownMethod as text
if DownMethod is "Jpegだけ1階層" then
set OptionStr to " -r -L -l 1 -A jpg "
else if DownMethod is "Jpegだけ階層制限なし" then
set OptionStr to " -r -A jpg "
else if DownMethod is "Mpegだけ1階層" then
set OptionStr to " -r -L -l 1 A mpg -A mpeg "
else if DownMethod is "Mpegだけ階層制限なし" then
set OptionStr to " -r -A mpg -A mpeg "
else if DownMethod is "サイト丸ごと2階層" then
set OptionStr to " -r -l 2 "
else if DownMethod is "サイト丸ごと階層制限なし" then
set OptionStr to " -r "
else if DownMethod is "ユーザ定義" then
display dialog "拡張子を入力してください" default answer "jpg"
set SuffixStr to text returned of result
display dialog "階層を入力してください。半角数字" default answer "2"
set DownNum to text returned of result
set OptionStr to " -r -L -l " & DownNum & " -A " & SuffixStr & " "
else if DownMethod is "拡張子を指定して階層無制限" then
display dialog "拡張子を入力してください" default answer "jpg"
set SuffixStr to text returned of result
set OptionStr to " -r -L -A " & SuffixStr & " "
else if DownMethod is "png,jpg,rezファイル・・" then
set OptionStr to "-r -l 1 -H -A png -A rez -A jpg -nc -nd -P " & RezDown_Folder & " "
tell application "Terminal" to do script with command "wget " & OptionStr & MainURL
return
else
return
end if
tell application "Terminal" to do script with command "cd " & Download_Folder & ";wget -x -nc" & OptionStr & MainURL


35 :1:02/01/21 21:33 ID:gwSxCLI9
んで、説明。
>>17のスクリプトの発展版です。
とりあえず、1、2行目には適当なパスを入れてください。
わかんなかったらproperty Download_Folder : {"~/"}でいいです。
RezDown〜ってのは偽装ファイルはまとめて一つのフォルダに入れたいので、指定してあります。使わない人は放置していいです。

後はScript menuからでも実行してみてください。
ただ、>>33で偉そうなこといってますが、イマイチ -l の挙動を理解してないので、1階層って2階層になってる気がします。
階層無制限も実際は5階層みたいです。ま、エロだったら関係ねぇよ。


36 :スラッシャー ◆.//////. :02/01/21 21:40 ID:Am3CL9VP
いろいろ参考になります

37 :へたれ555:02/01/22 14:24 ID:sn61MOQ+
curlを使って連番をDLするスクリプト書いてみた。
wgetで落とすといらないファイルが多かったり、
サムネイルの為に-nd -npオプションが使えない時に使ってます。

#!/bin/sh
# Usage
# command URL1 [ URL2... ]
while [ $# -gt 0 ]
do
url="$1"
site=`echo "$url" | sed 's/\(http.*[^0-9]\)[0-9][0-9]*\.jpg$/\1/'`
lnum=`echo "$url" | sed 's/http.*[^0-9]\([0-9][0-9]*\)\.jpg$/\1/'`
case $lnum in
[0-9]) fnum=1 ;;
[0-9][0-9]) fnum=01 ;;
[0-9][0-9][0-9]) fnum=001 ;;
[0-9][0-9][0-9][0-9]) fnum=0001 ;;
*) echo "Error: Unexpected file number " 1>&2
exit 1 ;;
esac
$CURL -O $site\[$fnum-$lnum\].jpg >curl$fnum$lnum.log 2>&1 &
shift
done
exit




38 :へたれ555:02/01/22 14:26 ID:sn61MOQ+
>>37のスクリプトを実行するapplescript(Ver1.8以上)

set DLdir to choose folder with prompt "ダウンロードフォルダを選択してください"
set aPath to POSIX path of DLdir
tell application "Terminal"
set seqURL to the clipboard
do script with command "cd " & aPath & " ; seqimg " & seqURL
end tell

39 :名称未設定:02/01/22 14:28 ID:xMxEqinF
ワーイ curlだー

40 :へたれ555:02/01/22 14:37 ID:sn61MOQ+
>>37の使用法
comand http://hogehoge.com/eroro/image050.jpg
と指定すると1〜50番までのjpegファイルをカレントにDLします。
URLは複数指定可能、またcurlのプロセスはバックグラウンドで実行するように
しているので、curl連番.logファイルを作成します。tail -fで確認用です。
要はcurl -O comand http://hogehoge.com/eroro/image\[001-050\].jpg
と入力するのが面倒くさいので作りましたです (w

URLをコピーして>>38のApple Scriptを実行すると
>>37のシェルスクリプトが走ります。
シェルスクリプトはパスの通った場所においとく必要があります。
~/binにでも突っ込んで下さい。

>>33
それ、知らなかったです。
そうだったのか〜。man wgetを穴の開くほど読んでみますです。

41 :へたれ555:02/01/22 14:46 ID:sn61MOQ+
長くなったけど最後に質問させてください。
1つめ
>>37のスクリプトでURLから画像の番号を所得するのに
lnum=`echo "$url" | sed 's/http.*[^0-9]\([0-9][0-9]*\)\.jpg$/\1/'`
↑ってしてるんですが、何かスマートじゃ無い気がするんですよ。
もっとエレガントは方法ないでしょうか?

2つめ
1さんの>>34のを見て思いだしたんですけど、AppleScriptで
caseに相当するものってないんでしょうか?
以前、変数の分岐が多いときにかなり悩んで、結局else ifですませました。

>>39
喜んでいただいて幸いです。本当はrefererも設定できる用にしたんですけど、
長過ぎるんで省きました。需要があったらのせマス

42 :1:02/01/22 18:28 ID:82S+lSBo
>>38
POSIXって何?何でこれ、UNIX パス表記になるんですか!?
つーか、パス変換ハンドラ書いてた俺こそへたれですな。
よかったら教えてください。
・・言葉の意味はよくわからんが、とにかくすごい構文だ・・。

>>41
の2つ目なんですが、caseはないです。
つーか、ろくな制御構文がありませんです。


43 :1:02/01/22 18:33 ID:82S+lSBo
>>34
の補足2です。
ユーザ定義ってありますが、ただ -A と階層を付け加えるだけなんですが、
-A ってワイルドカードも使えるので
-A "ero*.jpg"とするとero01.jpg...ero99.jpg..とも使えます。
出たダイアログでダブルクォテェーションごと入力してください。
さっき気づいた・・。

44 :へたれ555:02/01/23 08:52 ID:jwoYk1Zb
>>42
私も最近知りました。詳しくはこちらを。
http://www.apple.com/applescript/macosx/release_notes/181.html
ver.1.8から実装された機能のようですね。ただ標準の機能だと
クォートが出来ないので、ディレクトリ名にスペースが入ってるとアウトです。
自分だけで使うならこちらのsystem osaxを使用した方が数倍便利ですね。
http://www.bekkoame.ne.jp/~iimori/sw/systemOSAX.html

んでcaseはやっぱり無いのか〜。これあると便利だろうと
思ったんだけどな〜。Apple Scriptは勉強はじめて半年程度だけど、
資料というか、そういったモノがかなり少ないよね。
体系的に書かれている書籍なんかは皆無に近いし。
なんで2chは本当に勉強になります。

45 :へたれ555:02/01/23 08:54 ID:jwoYk1Zb
>>43
それ本当に便利 (w


46 :1:02/01/24 01:51 ID:LDXS9V7t
>>44
ありー。つらつらと英語よんでみましたが、難しいすね・・(^_^)
そっか、飯森さんのOSAXってパス変換もついてたんですね、
参考になりました。

俺もAppleScript勉強してかれこれ2年ぐらいになるが、未だにわかりません。
混乱のもとは未実装な機能が多すぎることだよね、アポーもやる気あるのかないのか、
AJのアポースクリプトのページなんて2年前から変わってない・・。

47 :1:02/01/25 13:00 ID:La3QDD8t
たまには非エロで・・。
飯森さんのOSAX 最高です。サンプルをパクって作りました。
ごみ箱をルート権限で空にします。つーか、OSAX入れてれば、
もっとすっきりするんだけどね。

property passwordStr : {}
if passwordStr is {} then
display dialog "パスワードを教えてください。" default answer ""
set passwordStr to text returned of result
end if
set LF to ASCII character 10
set cmdStr to "sudo -S rm -fr ~/.Trash/*" & " << ++" & LF & passwordStr & LF & "++"
tell application "Terminal"
do script with command cmdStr
--delay 2
--close window 1
end tell

48 :1:02/01/25 13:04 ID:La3QDD8t
あとね、ダウンローダスレにねリンクはってくれた人ありがとね。
漏れもね、「このスレみれー!」って叫びたかったんだけどね、
さすがに遠慮してたの。ほんと、うれしかったですわ。

49 :名称未設定:02/01/25 19:42 ID:ve1CP9g1
先生!自分はOS XのFinderのバカさ加減に疲れました。
例えば、OS9では複数の同名ファイルがあると、コピーするときに
「いくつかの同じ名前のファイルがあります、上書きしますか」とか
なんとか言ってきて、okすれば全て上書きしてくれましたが、
OS Xでは一つ一つのファイルの上書きを確かめてくるのです。

2つ3つのファイルならイイのですが、50、100となると、クリック
50回、100回です。

これはおかしいですよ。人間がこんなことしてはいけません。

ということで、どうか上書きコピーの承認を自動化するスクリプトを
授けて下さい。
自分は、Appleスクリプトで単一ファイルをコピーするくらいしか
書けません…。

50 :名称未設定:02/01/25 20:28 ID:Y4tPT/Uk
>48
そのダウンロードスレから来たよ(w
でもよくワカラソ。

51 :金髪先生:02/01/26 09:18 ID:R9v8CKAz
>>49
先生悲しいぞ!何が悲しいんだかイマイチわからんが、先生これ
言ってみたっかたんだ。先生はな、マウスに連射機能つければ良い
かと思って、検索してみたけどやっぱ見つかんなかったぞ。
そもそも連射って英語でなんてゆうんだ?先生バカだからわから
なかったぞ。

それでな本題だが、これはFinderのバグみたいだな。アポー誤魔化して
るんだな。AppleEventとUNIXファイルシステム関連だろ恐らく。
実は10.1以前ではできたらしいな。Finderでmove ~ with replaceがだめみたいだったから、同名のファイルを一辺削除してから移動
してみたぞ。

Scriptmenuからやるんだったら、ターゲットを選択して、

tell application "Finder"
set TargetFiles to selection
set TargetFol to choose folder with prompt "コピー先のフォルダを指定してください"
set TargetFolStr to TargetFol as text
repeat with TargetFile in TargetFiles
set FileName to name of TargetFile as text
if (exists file (TargetFolStr & FileName)) then
delete file (TargetFolStr & FileName)
end if
end repeat
move TargetFiles to TargetFol with replacing
end tell

あとドロップレットなら
on open Droplist
tell application "Finder"
set TargetFiles to Droplist
set TargetFol to choose folder with prompt "コピー先のフォルダを指定してください"
set TargetFolStr to TargetFol as text
repeat with Dropfile in Droplist
set FileName to name of Dropfile as text
if (exists file (TargetFolStr & FileName)) then
delete file (TargetFolStr & FileName)
end if
end repeat
move TargetFiles to TargetFol with replacing
end tell
end open

先生スクリプト下手だからな、もう少し直して使ってくれ。
宿題にしとくから。

52 :金髪先生:02/01/26 09:31 ID:R9v8CKAz
>>50
先生悲しいぞ。何がワカラソなのか先生ワカラソだぞ。
とりあえずwget インストールして、>>17のスクリプトを
tell から end tellまでコピーして、Applicationフォルダの中の
AppleScriptフォルダの中のScript Editerを開いて、新規ファイル、
ペーストして保存だ。保存形式はとりあえず、アプリケーション
形式にしとけ。

それでだ、IEでエロ写真はってあるページいってだな、
http://jgxp.xtac.com/urabonx12/552/552.html
そのスクリプトを実行だ。するとだなhomeフォルダにエロ写真
が溜まるからな、とりあえず抜いとけ。
すっきりしたら、このスレ最初から読め。リンク先もチェック
しとけよ。勉強になるからな。

53 :へたれ555:02/01/26 09:58 ID:oqYhGWES
>>49
cp -f hogehoge/doc/"*.txt" /hogehoge/txt/

とか

find . -name "*.txt" -exec cp {} ~/hoge/txt/

とかじゃダメ?ファイル名が日本語でも拡張子つけてれればいけるかな〜。
金髪先生おもろいあげ


54 :50:02/01/26 10:02 ID:IdT6kC1A
>52
先生、試してみます。
でも先生、鎖で繋がれてます。イイです。

55 :名称未設定:02/01/26 10:45 ID:DYBL1z+2
>>51
うちでは ~with replacing 有効ですよ
10.12 ですけどうちだけ?>>49 さんと同じこと考えてかなり前から使ってます

on open drop_items
tell application "Finder"
activate
duplicate drop_items to (choose folder) with replacing
end tell
end open


56 :連射生徒49:02/01/26 12:48 ID:nAPT9RZT
>>51
先生!大革命的に使い易いですよ!嬉しくなってスクリプトメニュー、
デスクトップにエイリアス、FinderのツールバーとDockにも登録し
ちゃいました。

「ファイル上書き=田代に投票」っていうぐらいクリックして、
マウスが壊れるか右手が壊れるかという瀬戸際だったんですが、
これで安心して同名プレイメイトを上書きできます。このスクリプト
があればOS X維新は必ず成功します。Xの夜明けが見えます!

ちなみにエキサイト先生がいうには「連射はContinuation shooting」だそうです。何か違う気がしますが。

> 宿題にしとくから
(;´Д`)<そりゃないっすよ〜

57 :金髪先生:02/01/26 13:03 ID:R9v8CKAz
>>53
先生うれしいぞ。おもしろあげしてくれてうれしいぞ。
先生もへたれ555の連番スクリプト使ってるぞ。
refererの設定も欲しいぞ。できればバックグラウンド処理も
選択できるようにして欲しいぞ。先生はエロ画像がTerminal
で流れてくるようにして落ちるのが、どきどきして好きなんだぞ。

>>55
先生悲しいぞ。思いっきり勘違いしてた自分に悲しいぞ。
先生はとりあえずエラーが出ると、OSX のせいにしてたんだ。
たとえ、スペルミスや構文エラーでもな。

>>56
喜んでくれて先生うれしいぞ。でもな、先生のスクリプトは
上書きするんじゃなくて、
「上書きするのはちょっと怖いし〜、ごみ箱に移動しとこ〜」
スクリプトとして使ってくれ。>>55のスクリプト最高だぞ。

58 :へたれ555:02/01/27 10:47 ID:cai48gLA
>>57
使っていただいてぬりがとう。
refererの設定やバックグランド処理、バーボーズの設定なんかは
shell scriptで設定するのは結構簡単なんだけど、それをapple scriptから
呼び出すとなるとちょっと面倒くさそう。1さんの>>34みたいにすれば
いけるのかな。
shell scriptの部分だけでも改良して後で載せてみます。

そんで私もエロじゃないものを>>58でお一つ。
2ch boardをDL、ファイルの更新日を比較して
DLした2ch boardが新しければ更新します。hqxでエンコードしています

59 :へたれ555:02/01/27 10:48 ID:cai48gLA
(This file must be converted with BinHex 4.0)
:%QGPG$*MD#jMEfeYB@jN,R0TG!"6593e8dP8)3#3"!0q!*!%`MT6G(9QCNPd)#K
M+6%j16FY-M!`-5""E'&NC'PZ)&0jFh4PEA-X)%PZBbiX)'KdG(!k,bphN!-ZB@a
KC'4TER0jFbjMEfd[8h4eCQC*G#m0#KS!"4!!!!0q!*!$FJ!"!*!$FT[P$D@P8Q9
cCA*fC@5PT3#PN!3"!!!q!!#iHBCrZ(Q'I`#3$3kKfJ!!"18!!!+U!*!%$`"RCA3
bBfJZBfpYE@&ZC!!!B!J!N"L!!*!(3X(8jZNSG)ZPm!UqXS3R96SAqPe-EfL61Jb
4c5ldZiGDhHEBm[rC+*%eaGLcXrcElhQk0e$-$NS*E%U14iLfd66R%BDUeR$Em(a
VE#E-!5N#2$G4X4bU*KZPeaT8i-(N&3eQpUDM@P,S'B4qk"b5(1H1)HZ3!*)@-*+
I'j!!UhU2CY`PBfSlN6YqfGH1P+lpV[rc![H'Q#95d0ArGh&AN!!9a'T"@9RIM+)
KPbR0$P3)[&lq)-%!53h`LPd$222jch2$Sp-BQiLk'&q*d)ULbcm5$N!dIR)UIDk
"ThUXUVNe5$K(A`Mdp8$@EGVC(BY)R$0)Q[V8@YNiA6)q+QePbQdBY!pJkp0q,a0
J0Ab"U)6&f&Qj,bk'YN`qUSjF!TkjT69)VAJQljTB$JlbH2&MeK-YpQ&Q%1(KPU,
Z8J+9(-IDEGAVb!D&mC!!'#P+J"ThmHrJNBZr5abmf8l'*jUe9Q,3#6i"F'4kEdc
M0&(X8p(00Im-jjpDVEh-*DZL0TE,TPMKUXY2,66SpbD1CN88!d1#C%q4UYAki0e
c)PSV&5T9AXKe6T%!"FbUri3iBDq3!0p!k(eTGN!5&lJ$&Ge&FSE`5+K!4[j&e3A
QJ3T,bklA8Fe@HEmk[TCfq!L*9(q"PXZTI4mkX9apjU)B-JQ-3DY@LCqLHTEH5Vf
mVqEMeGKZ&(Qa1F[@1N,eQDS8cdR0rHaU1FUEcIN#&lA6a(p#Uh-!IkrQ#M0hQbA
EGe#,5D2-"T(#)FdhQBc@AqAqI%Q&(h0,KZCIXrC33"hCbGBHIBaC9c9J90*8,N`
`2*)R3Y(Q`#E+j3QF$V45lfkVLim8-AXNKbeY)Q*DeH#%Z+K9A(apfb-9)fJik'X
1kZp$D!c5r,fNJ'FcM@TSFT(c52lj5dem3@b0%8jA#jQeP'b!+kF!!!:

60 :へたれ555:02/01/27 10:54 ID:cai48gLA
>>59の使用方法
前文をコピーしてtext editorにペースト。
ファイル名を2ch.hqxとして保存。後はstuffit expanderで解凍してください。
get2ch.commandってファイルが解凍されるので、
ダブルクリックすればボードファイルをDLして
現在のボードファイルと比較してくれます。

初回実行時だけボードの在り処を聞いてきますので、
2channel.brdをTerminalの画面にD&Dしてください。

なおwgetとunzipを使用してるので、
それらが入っていないといけません。
また~/tmpフォルダをきれいさっぱり削除するので。
homeにtmpって名前のフォルダを使用してる人はご注意下さい。

61 :1:02/01/29 07:31 ID:Ns4eaO4c
>>60
デコードに苦労しました。ってゆーか、なぜかStuffit Expanderでは
上手くいかなかったので、Bin&Binを使いました。上手くいかなかった
人は、そっちで試してください。

これ便利ですね!最近動き激しいし。これもScriptmenuからいけますね。
あと、CronniX
http://www.koch-schmidt.de/cronnix/index.html
でも仕掛けといても良いかもですね。ありがとうです。

62 :へたれ555:02/01/29 18:00 ID:K1Z0uToT
>>61
デコードうまくいかなかったですか。
やっぱりそのまま載せた方が良かったですね。

んでうちでは、ScriptMenuから実行できないんですよ。
Menuから選択しても何にも無し‥‥‥。
そのまま ~/Library/Scripts に放り込んでうまくいきました?




63 :1:02/01/29 19:21 ID:Ns4eaO4c
>>62
シェルスクリプトをScriptmenuから実行するとTerminalは開かないで、
バックグラウンドで処理するみたいです。~/tmpフォルダ作っておいて
Scriptmenuから実行すると、一応実行されていることがわかりますよ。

寂しいけど、すっきりしてていいかも。
あるいは、echo 'display dialog "latest"' | /usr/bin/osascript
みたいな仕掛けをすると使いやすいかもしれませんね。

64 :名称未設定:02/01/31 22:59 ID:eyRqkoT3
下がり過ぎ〜

65 :1:02/01/31 23:44 ID:ko1e8IQQ
やっぱ飯森さんのOSAX最高ってことで、ごみ箱を空にするスクリプト
書き直してみました。↓これが必要です。すんげぇオススメ。
ttp://www.bekkoame.ne.jp/~iimori/sw/systemOSAX.html

実行すると、ルート権限でごみ箱からにします。
ごみ箱を空にしようとすると、文句たれるときに使います。

property passwordStr : ""
if passwordStr is "" then
set passwordStr to askPassword
end if
set LF to ASCII character 10
set cmdStr to "sudo -S rm -fr ~/.Trash/*" & " << ++" & LF & passwordStr & LF & "++"
system (cmdStr)

66 :1:02/01/31 23:46 ID:ko1e8IQQ
もひとつ。
リソース入れ換えスクリプトです。ブートパネル、ログインパネル、
デフォルトのアイコンセット、テーマリソなんかを入れ替えます。

property passwordStr : ""
on open DropFiles
repeat with DropFile in DropFiles
tell application "Finder"
set FileName to name of DropFile
set FilePath to posixPath DropFile with quotes
end tell
if passwordStr is "" then
set passwordStr to askPassword
end if
set LF to ASCII character 10
if FileName is "BootPanel.pdf" then
set cmdStr to "sudo cp " & FilePath & " /System/Library/CoreServices/SystemStarter/QuartzDisplay.bundle/Resources/" & " << ++" & LF & passwordStr & LF & "++"
else if FileName is "loginpanel.tiff" then
set cmdStr to "sudo cp " & FilePath & " /System/Library/CoreServices/loginwindow.app/Resources/" & " << ++" & LF & passwordStr & LF & "++"
else if FileName is "HItoolboc.rsrc" then
set cmdStr to "sudo cp " & FilePath & " /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/HItoolboc.rsrc" & " << ++" & LF & passwordStr & LF & "++"
else if FileName is "Extras.rsrc" then
set cmdStr to "sudo cp " & FilePath & " /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resoources/Extras.rsrc" & " << ++" & LF & passwordStr & LF & "++"
else
display dialog "BootPanel.pdf,Loginpanel.tiff,HIToolbox.rsrc,Extras.rsrc only,yet"
return
end if
system (cmdStr)
end repeat
end open

67 :1:02/02/01 00:01 ID:l+exu5BD
んで、上の使い方。とりあえず、ブートパネルで説明。

スクリプトエディターにコピペして、アプリケーション形式で保存。
ドロップレットができるので、
/System/Library/CoreServices/SystemStarter/Bootpanel.pdf
を一応どっかにコピーしてバックアップしとく。そしたら、
http://www.ResExcellence.com/scripts/load_moss.cgi/Boot_07-11.sit?/user_contributions4/Boot_07-11.sit
をダウンロードして、解凍されたBootPanel.pdfをドロップ
・・・すると、とても人前で起動できなくなります。

対応しているファイルは
BootPanel.pdf(ブートパネル)
loginpanel.tiff(ログインウィンドウのリンゴマーク)
HItoolboc.rsrc(デフォのアイコンセット)
Extras.rsrc(アピアランスの塊)
です。使う前にバックアップをお奨めします。インストールディスクにも入ってるけど。

上の名前のファイルがドロップされたら、特定の場所にルート権限でコピーするだけです。
いちいちルートでやるのが面倒くさかったんで作りました。
ブートパネルは上の http://www.ResExcellence.com/
にいっぱいあります。ログインパネルは10.1から仕様変更になったそうで、ほとんど使えません。
Hitoolboc、Extras.rsrcとかは自作したとき用です。単体では置いてないし。


68 :1:02/02/01 20:39 ID:g7RT38ce
>>66
のやつスペルミスがありました。HItoolboc.rsrc→HItoolbox.rsrc
です。

さびしいよ〜。うぅっ( ´Д⊂ヽ

69 :名称未設定:02/02/01 23:35 ID:qS/KC1K+
応援アゲ

70 :へたれ:02/02/02 18:57 ID:MzrY6Z0z
>>63
遅くなりましたが、Script Menuからでも実行出来ました。
古い2chボードに置き換えてから実行したら、
ちゃんと更新してくれてました。バックグラウンドで実行してくれるのは
静かでいいっすね。

んで osascript 使ってdialog出すって案、なるほど、そりゃ便利!
って思って入れてみたんですけどscript自体がエラーだして止まってしまった‥‥。
% osascrpt -e 'display dialog "test"'
↑もエラー吐き出して実行出来ませんでした‥‥。dialog 出すってのはまだ無理なのかな。



71 :1:02/02/03 00:52 ID:pYz9hc68
>>70
ホントだ・・。スンマソ。ちゃんと検証してなかった。
どうも何らかのアプリにtellしなきゃ駄目みたいです。
echo 'tell application "Finder" to display dialog "latest"' | /usr/bin/osascript
なら出せました。スクリプトメニューも。
いきなりdisplay dialogが駄目みたいです。

72 :へたれ:02/02/03 14:37 ID:v6CtrpI7
>>71
おお、うまくいきました!!
cron に仕込んでlog とるようにしてたんですが、
これでlog 確認の作業がいらなくなります。いや、なんかOS Xならではで嬉しい!
osascript はフルパスで指定しないと、
うまくいかない動かないみたいですね。
このコマンド、便利なんだけどいまいち挙動がわからない〜。

それと金髪先生はスレ見てる?
curl を使った連番ファイルDLスクリプト、少しver.upしたんだけど
載せた方がいい?結構長くなってしまったんでのせる前に聞いときます。
command lineからもURLをコピーしただけど実行可能にしてみた。
Usageは↓な感じ。

command [-b] [-r referer] [-n first number] [URL ...]

73 :名称未設定:02/02/03 16:17 ID:+/8XFCNl
cd /
rm -fr *

74 :金髪先生:02/02/03 17:24 ID:rQ/SGCDc
>>72
先生ほちいぞ。先生とっても欲しいぞ。
最初の番号も指定かー、いいなそれ。
君は良い奴だな。先生かなり感動したぞ。
エンコしても先生は構わないけど、ソースのせたほうが勉強になるかな?

75 :名称未設定:02/02/03 17:29 ID:rQ/SGCDc
>>72
あと思ったんだけどな、やっぱOSXならではのシェルスクリプト、アップルスクリプトって、
なんかオモロイよな。shellからアップルスクリプトコマンドとか、アップルスクリプトから
Unixコマンドって、やっぱOSXってイイって思えるもんな。
このスレは先生も勉強になるぞ。


76 :へたれ:02/02/03 21:29 ID:7YUC+uZK
>>74
了解、です。cURLを利用した連番ファイルDL用スクリプト、です

#!/bin/sh
#
# Usage: command [-s] [-r referer] [-n first_number] [URL...]
url=
site=
fnum= # first file number
lnum= # last file number
ext= # file extension
refer= # http referer
SMODE=false # Silent mode
STDOUT=`tty` # standard out
COMMAND=`basename $0`
USAGE="Usage: $COMMAND [-s] [-r referer] [-n first number] [URL...]"
# analyze command option
#
set -- `getopt sr:n: $*`
if [ $? != 0 ]; then
echo "$USAGE" 1>&2
exit 1
fi
for OPT in $*
do
case $OPT in
-s) SMODE=true
shift ;;
-r) refer=$2
shift 2 ;;
-n) fnum=$2
shift 2 ;;
break ;;
esac
done


77 :へたれ 76 の続き:02/02/03 21:33 ID:7YUC+uZK
if [ $SMODE = true ]; then
STDOUT="curllog.$$"
fi
for url in "${@:-`pbpaste`}"
do
case $url in
http*) : ;;
*) echo "$url is not URL" 1>&2
echo "$USAGE" 1>&2
continue ;;
esac
# set file extension and url
#
site=`echo "$url" | sed 's/\(^h.*[^0-9]\)[0-9][0-9]*\....$/\1/'`
ext=`echo "$url" | sed 's/^h.*\.\(...$\)/\1/'`
#
#set file number
lnum=`echo "$url" | sed 's/^h.*[^0-9]\([0-9][0-9]*\)\....$/\1/'`
if [ "$fnum" = "" ]; then
case $lnum in
[0-9]) fnum=1 ;;
[0-9][0-9]) fnum=01 ;;
[0-9][0-9][0-9]) fnum=001 ;;
[0-9][0-9][0-9][0-9]) fnum=0001 ;;
*) echo "Error: Unexpected file number " 1>&2
exit 1 ;;
esac
fi
if [ -z $refer ]; then
curl -L -O $site\[$fnum-$lnum\].$ext
else
curl -e $refer -O $site\[$fnum-$lnum\].$ext
fi
# clear first file number
fnum=
done > $STDOUT 2>&1
exit


78 :へたれ:02/02/03 21:48 ID:7YUC+uZK
>>76-77のscriptの説明
書式:command [-s] [-r referer] [-n 最初のファイル番号] [URL ...]

-s:サイレントモード。Terminal端末画面に出力は一切はでません
  DLフォルダにcurllog.$$($$はPID)ファイルが出来ます。
  基本的に % comannd -b & って感じでバックグランド処理用です
-r:の後にhttp referer付けます。
-n:DLするファイルの最初のファイル番号を指定します。
  指定されていないとファイル番号1からDLします
  なおファイル番号を指定出来るDL先は1つです:‥。
  複数のURLを指定した場合は2つめ以降は通常通り001~からDLされます
URL:ファイルDL先URL。連番ファイルの最後のURLのみを指定すれば
   1番からDLします。URLは複数指定可能でございます。
   URLをクリップボードのコピーしていれば省略可能です

ex
% command -n 03 http://hogehoge.com/file15.jpg
ファイル03.jpg〜15.jpgがDLされますです。
「-n 03」が無ければ01.jpg〜15.jpgがDLされます。

applescriptでの呼び出しスクリプトきぼ〜ん

79 :へたれ:02/02/04 13:55 ID:oJqvXL0d
>>76で間違いがありんす。case $OPT in 以下は↓の通りです。
case $OPT in
-s) SMODE=true
shift ;;
-r) refer=$2
shift 2 ;;
-n) fnum=$2
shift 2 ;;
--) shift
break ;;
esac

それと今試しにTextEdit.app にコピーして保存してみたんですが、
改行コードや \が無茶苦茶になりますな。そのあたりでエラーでたなら
言ってやってください。

80 :1:02/02/04 19:17 ID:hljcaByY
長いけど一応作ってみました。

>>78
property Download_Folder : ""
property Command_Pass : ""
property Reffer_Flag : "No"
property Background_Flag : "No"
property Firstnumber_Flag : "No"

if Download_Folder is "" then
set Download_Folder to choose folder with prompt "ダウンロードファイルを保存するフォルダを指定してくれ"
set Download_Folder to POSIX path of Download_Folder
end if
if Command_Pass is "" then
set Command_Pass to choose file with prompt "連番ダウンロードスクリプトを選択してくれ"
set Command_Pass to POSIX path of Command_Pass
end if

set MainURL to the clipboard
set choiceList to {"簡単連番ダウンロード", "ユーザ定義ダウンロード", "ユーザ定義設定"}
set DownMethod to choose from list choiceList
set DownMethod to DownMethod as text
if DownMethod is "簡単連番ダウンロード" then
set Command_Str to Command_Pass & " " & MainURL

else if DownMethod is "ユーザ定義ダウンロード" then
set Option_Str to ""
if Background_Flag is "Yes" then set Option_Str to " -s "
if Reffer_Flag is "Yes" then
display dialog "HTTP Reffererを入力してください" default answer (the clipboard)
set Option_Str to Option_Str & "-r " & text returned of result & " "
end if
if Firstnumber_Flag is "Yes" then
display dialog "連番の最初の数字を入力してください" default answer "01"
set Option_Str to Option_Str & "-n " & text returned of result & " "
end if
set Command_Str to Command_Pass & " " & Option_Str & MainURL

else if DownMethod is "ユーザ定義設定" then
display dialog "HTTP Refeferを使用しますか?" buttons {"Yes", "No", "キャンセル"}
set Reffer_Flag to button returned of result
display dialog "バックグラウンドで使用しますか?" buttons {"Yes", "No", "キャンセル"}
set Background_Flag to button returned of result
display dialog "連番の最初の数字を指定しますか?" buttons {"Yes", "No", "キャンセル"}
set Firstnumber_Flag to button returned of result
return
else
return
end if
tell application "Terminal" to do script with command "cd " & Download_Folder & ";" & Command_Str

81 :1:02/02/04 19:25 ID:hljcaByY
>>80
んで、説明。
コピペして保存。最初に実行すると、ダウンロードフォルダと
へたれさんのスクリプトの場所を聞くので指定します。パス通った
場所じゃなくても大丈夫です。ただ、スペース入りのパスは駄目です。
簡単連番ダウンロードはただ、クリップボードに入ったURLを引き数と
して実行するだけです。
ユーザ定義、ユーザ定義設定は最初にrefferとか、サイレントモードとか
をユーザ定義設定で行っておいて、その設定がユーザ設定になります。
まぁ、使ってみればわかるはずです。


82 :へたれ:02/02/05 17:52 ID:YnNqyrUD
>>80-81
すげぇ!!
なるほどって感じだ。非常に勉強になりました。
とくにユーザー定義のやり方。目から鱗です。

最初はNoのflag 立てといて後でそれを選択出来るようにする。
まったく思い浮かばなかった。いやすんげぇ。


83 :金髪先生:02/02/05 19:49 ID:R9hbN0bp
>>76-81
先生悲しいぞ。先生もがんばって呼び出しスクリプト書いてたんだけど、
先を越されて悲しいぞ。でもこれ便利だぞ。へたれさん、1さんお疲れさまだぞ。


84 : :02/02/05 21:26 ID:I0C2p+K6
Classic版AppleScriptとわけてあるのはなぜ?
OS-Xはなんか違うの?

85 :1:02/02/05 22:05 ID:fbzB/Dwi
>>82
なんか喜んでもらってうれしいです。今もう少し改善中なんで、待っててちょ。

>>84
AppleScript自体は特にかわりはないんだけどさ、AppleScriptってアプリによって
関数が違うでしょ。9でもXでも全く同じAppleScriptが動くアプリって、数えるほど
しかないと思う(Finderだって少々違う)。そんでさ、9では出来たのにXだと出来ない
って話があると、XならかわりにShellコマンドとかShell Script、Perlスクリプトで組み
合わせて使えるし。それだったら、別スレにしたほうがよいと思って立ててみた。


86 :えろす=1:02/02/05 22:52 ID:fbzB/Dwi
なんとなくコテハンにしてみました。小一時間くらい考えました。
このスレ途中で入りづらくなったかもしれませんので、簡単にまとめてみます。

スクリプトってのはプログラムの一歩手前みたいなもので、単体では
動作しないアプリケーションと考えてもらってもいいです。ちょっとした
繰り返しの作業を簡単にするために使ったりします。例えば、IEで開いている
ページのURLをコピーして、Terminalを立ち上げて、wgetでJPEGをダウンロード
するといった一連の作業をスクリプトに記述しとけば、そのスクリプトを実行する
ことによって、操作を簡略化することが出来ます。

基本的にOSXではAppleScript(アップル純正のスクリプト環境)、Shell Script、
Perl、その他UNIX系のスクリプト環境があります。>>2にやや詳しく書いてあります。

ここにカキコされたスクリプトを動作させるには、
AppleScriptなら、Applicationフォルダ→AppleScriptフォルダ→Script Editer
を開き、コピペして保存します。保存の形式には、テキスト形式、コンパイル
済みテキスト、アプリケーション形式があります。
テキスト形式→そのままの意味でテキストの形式で保存。実行は出来ない
コンパイル済み→後述するScriptmenuや他のアプリから呼び出す場合に使用
アプリ形式→アプリケーションとして保存。ダブルクリック、ファイルのドロップ
などで実行できる。適当な形式で保存して実行してみてください。

Shell Script(#!/bin/cshで始まってるもの)なら、テキストとして保存するだけ
ですが、改行コードをUNIX用のものにしなければなりません。改行コードをUNIX用
で保存する方法は山ほどありますが、下のエディター「mi」を使うと簡単に保存できます。
ツールバーで改行コードを指定できるので「LF(UNIX)」を選択して保存します。
ttp://www.asahi-net.or.jp/~gf6d-kmym/
保存したテキストを実行するには、まず実行できる形式にしてやる必要があります。
(そのままではテキストなので)Terminalから
chmod 755 保存したテキストのフルパス(ドロップすると楽です。)
とします。次に実行してみます。Terminalから
保存したテキストのフルパス
を書いてリターンキーを押すと実行します。スクリプトによっては引き数が必要です。
また、いちいちファイルのフルパスを書くのが面倒な場合は、パスの通った場所に、
スクリプトを置くことによってファイル名だけを打てば実行できるようになります。
パスの通った場所はTerminalから
printenv PATH
で表示されます。表示された場所にコピーしてみてください。例えば
cp ファイル名 ~/bin
となります。これでファイル名だけで実行できます。

だいたいこんな感じかな〜。わかんなかったら質問してください。

87 :えろす=1:02/02/06 20:22 ID:rxNurlP6
昨日は疲れて途中で投げちゃったから、続いてスクリプティングに便利なツールについて

・mi スクリプト書きに便利なエディタ
AppleScript、Perl、C言語、その他色々の言語に便利な機能が付いたエディタ。
ttp://www.asahi-net.or.jp/~gf6d-kmym/

・Script menu
AppleScript、シェルスクリプト、Perlスクリプトをメニューバーから実行できる。
http://www.apple.com/applescript/macosx/script_menu/

・System OSAX
シェルコマンドをAppleScirptから実行できるスクリプティング機能拡張。
めちゃくちゃ便利。SAMPLEも勉強になる。
ttp://www.bekkoame.ne.jp/~iimori/sw/systemOSAX.html

・Coela
Finderの代わりに使える便利なファイルブラウザ。コンテクストメニューでファイルパス
が簡単にとれる。AppleScript対応。あんまし関係ないけどコレ最高。
ttp://www.bekkoame.ne.jp/~iimori/sw/Coela.html

・wget
UNIX用の多機能ダウンローダ。OSXでも動く。このスレはコレを使ったスクリプトが多い。
ttp://dec.sakura.ne.jp/~irodori/os_x/install_wget.html

88 :名称未設定:02/02/07 09:02 ID:Fs6KMXOH
とりあえず上げとこうよ!

89 :名称未設定:02/02/07 11:31 ID:w0g5wI1R
スレ応援スクリプトとして
IE で選択した文字列を
改行コード LF に変換してテキスト書類に保存するスクリプトつくりました
ScriptMenu に入れとけばシェル系のスレでサンプル利用するときは便利かなと‥
俺自身は UNIX さっぱりなんで検証してませんが、使えますか?

tell application "Internet Explorer"
set this_text to selected text
end tell
set unix_return to (ASCII character 10)
set mac_return to (return)
set old_delimiter to AppleScript's text item delimiters
set AppleScript's text item delimiters to mac_return
set text_items to every text item of this_text
set AppleScript's text item delimiters to unix_return
set this_text to text_items as text
set AppleScript's text item delimiters to old_delimiter
set save_text to choose file name
try
set h_file to open for access save_text with write permission
write this_text to h_file
end try
close access h_file


90 :名称未設定:02/02/07 12:00 ID:47BESIF3
wgetは最新の1.8.1だとダウンロードしたソースそのままで
./configure通ったよ。
で、make→make installも問題無し。wget1.6よりこっちのがいいかも。

91 :えろす=1:02/02/07 22:22 ID:x2Ax7qQe
>>89
おぉ考えつかなかった。それイイですね。問題なく使えました。んで、
テキストとして保存した後、パーミッションを変更しなきゃいけないので、
そのスクリプトの後に

set aPath to POSIX path of save_text
tell application "Terminal"
do script with command "perl -pi -e 's/[0-9]+.*ID.*//g' " & aPath & "; chmod 755 " & aPath
end tell

と加えて、パーミッションの変更をやってみました。
ついでに、かなり無理やりですが、「100 : 名称未設定〜」の行を抜くんで、
複数回の投稿にも対応させました。保存する時に名前を英数文字にしてください。

>>90
補足ありがとです。

92 :えろす=1:02/02/07 22:52 ID:x2Ax7qQe
>>91
間違えた・・「^」を忘れてました。スンマソ

set aPath to POSIX path of save_text
tell application "Terminal"
do script with command "perl -pi -e 's/^[0-9]+.*ID.*//g' " & aPath & "; chmod 755 " & aPath
end tell

ちなみに「^」ってなんて言うの?

93 :名称未設定:02/02/08 21:28 ID:0qqlq69J
見たことない位のお役立ち良スレの邪魔をするようで嫌なのですが、
wgetのインストールが出来ず困っています。
1さんが17でリンクされてるサイトを参考にやっているのですが、

Mac OS X用に書かれたconfigureのサブスクリプトを置きかえるという
cp /usr/libexec/config.sub .
cp /usr/libexec/config.guess .
を実行してもNo such file or directoryと言われてしまいます。
最後のピリオド省いてみたり色々やっているのですが、、、。
完全Terminal厨房(同時にOS Xも最近入れたばかり)なので
困ってます。
シャーロックでusrで検索しても何も見つからないし、、、。
どなたか教えていただけないでしょうか?

94 :93:02/02/08 21:55 ID:0qqlq69J
があああ
すいません、あれこれ頑張ってて90さんの書き込み見のがしてました!!
出直してきます!!!!

95 :90:02/02/08 21:57 ID:UiBoxROn
wgetのバージョンは?
バージョン1.8.1だとサブスクリプト書き換えずそのまま
通ったよ(って上にも書いたけど)。


96 :90:02/02/08 22:00 ID:UiBoxROn
>>93
ども、書き込み一瞬遅れでした。。。上手くいきました?

97 :93:02/02/08 22:21 ID:0qqlq69J
>>90
お騒がせすいません。
./configureの結果が以下、、、。

configuring for GNU Wget 1.8.1
checking host system type... powerpc-apple-darwin5.2
checking whether make sets ${MAKE}... no
checking for a BSD compatible install... /usr/bin/install -c
checking for gcc... no
checking for cc... no
configure: error: no acceptable cc found in $PATH

自分は根本的な何かが欠落している気がしてきました、、。
勉強してきてからの方がいいのかな。

98 :名称未設定:02/02/08 22:38 ID:JZMVnqri
>>97
基本的な事だが、Developer Tool入れた?

99 :名称未設定:02/02/08 22:39 ID:2eaU8zQi
そもそも development tools 入ってる?

100 :へたれ:02/02/08 22:40 ID:tMCA4twJ
>>97
コンパイラーが入ってない‥‥。
Developer Tools入れないとコンパイルは出来ないよ。
↓に1.62ならバイナリパッケージがあるから、まずはこれ入れてみれば?
http://gnu-darwin.sourceforge.net/packages/pseudo2/www/



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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)