OSXのアップルスクリプトでのフォルダーの扱い方

このQ&Aのポイント
  • アップルスクリプトを使用して、フォルダー内のアイテムの名前を変更する方法を知りたい。
  • OSXのアップルスクリプトでフォルダーの中身を参照する方法を教えてください。
  • iMac SlotLoadingでOS10.1.5を使用している状況で、アップルスクリプトを使用してフォルダーの中身を取得したい。
回答を見る
  • ベストアンサー

OSXのアップルスクリプトでのフォルダーの扱い方

アップルスクリプトでドロップレットを作成し、 フォルダをドロップした時にフォルダの中のアイテムの名前を変更したいとします。 repeatでループを回そうとして、例えば on open Dropped tell application "finder" activate repeat with myFile in Dropped set name of myFile to name of myFile & ".jpg" end repeat end tell end open としても フォルダの中身がDroppedに入りません。 OS9.xの時はこれで大丈夫だったのですが。 フォルダの中身の参照(?)を取る時はどうすればよいのでしょう? 色んなMLの過去ログを調べましたがどうもOSXでの アップルスクリプトの記事が無く困ってます。 どうかご教授ください。 環境は iMac SlotLoading OS10.1.5 メモリ768Mです。

  • Mac
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • syasushi
  • ベストアンサー率27% (226/837)
回答No.1

on openハンドラのパラメタはフォルダをドロップした場合フォルダの参照になります。 従ってこのままではフォルダ内のファイルは参照できません。 on open Dropped  tell application "Finder"  activate  『set folderList to every item of folder (Dropped as string)』  repeat with myFile in 『folderList』  set name of myFile to name of myFile & ".jpg"  end repeat  end tell end open 『』の部分を追加、変更すると御希望の動作をするようになるかと思います。

unyunyu
質問者

お礼

早速のアドバイス有り難うございました。 set folderList to every item of Dropped みたいなことは試したんですが、 set folderList to every item of folder (Dropped as string) は気付きませんでした。 これが出来ないとリカーシブにフォルダ内のファイルのリネームが出来ずに困っていたところでした。 また質問をすることがあると思いますが宜しくお願い致しますm(__)m

関連するQ&A

  • アップルスクリプトを教えてください。

    Internet Explorerから表示しているHPのアドレスとページタイトルを下記のアップルスクリプトで取得していました。 tell application "Internet Explorer 5.1" set infolist to GetWindowInfo of -1 end tell set urlinfo to first item of infolist set titleinfo to second item of infolist 同じ情報をSafariから取得するためにはアップルスクリプトをどう変えたらいいかがわかりません。 ご指導よろしくお願いいたします。 ちなみに私はアップルスクリプトをほとんど理解していません。

    • ベストアンサー
    • Mac
  • Apple Scriptで、1つの作業完了後に次の作業に進ませるには?

    「ディスクイメージを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の初期設定を変えたいのですが、これもやり方がわかりません。 一つのスクリプトを実行するだけで、「検証中」のバーが消えるまで待ったりキャンセルをわざわざクリックしなくてもワンタッチで辞書が使えるようにするにはどうしたらよいでしょうか?

    • ベストアンサー
    • Mac
  • アップルスクリプトで、新しいウインドウを開きたい。

    アップルスクリプトで、IEを全面に持ってくるところ※までは出来たのですが、IEのファイルメニューから、「新しいウインドウを開く」を実行させたいときには、どの様に記述すればよろしいか教えてください。 ※ tell application "Internet Explorer" Activate end tell 最終目的は、ファイルメーカープロのスクリプトで、「urlを開く」を利用したいのですが、一度に、複数のページを表示させたいと考えています。

    • ベストアンサー
    • Mac
  • appleスクリプトでアプリケーション名を得る方法について。

    現在appleスクリプトを勉強中の者です。appleスクリプトを打つときに疑問が出てきてなかなかネットにも回答が乗っていなかったので皆様の知恵をお借りできないかと投稿しました。appleスクリプトを打つ時に通常は tell application "アプリケーション名" end tell と書くのですが、このやり方だと、特定のアプリケーションにたいしては有効なスクリプトがかけるのですが、非特定のアプリケーションにたいしては有効な書き方ができません。これを例えば最前列のアプリケーション名自動的に取得して、命令を与えるという形にしたい場合はどうすればよいのでしょうか?もしくは、appleスクリプトではそのような方法はとれず、アプリケーションごとにスクリプトを書き換えなければいけないのでしょうか?この問題についてもしわかる方がいらっしゃいましたらアドバイスよろしくお願いします。

  • Apple Scriptで多数の新規フォルダ作成

    Apple Scriptで多数の新規フォルダ作成 OS10.6です。 現在フォルダ内に多数の新規フォルダ作成をしています。 フォルダの上のバーにあるギアみたいなアイコンの新規フォルダを 回数分クリックしていますが、20回以上、同じ作業をするのが億劫です。 Apple ScriptないしAutomatorで自動化できないかなと思うのですが プログラムに関しては全く無知です。欲出せば作成個数分を入力すれば ずらーっとフォルダ作成できればいいな... よろしくお願いします。

    • ベストアンサー
    • Mac
  • Apple Script(アップルスクリプト)が、動きません!

    こんにちは、最近チョットした事件があって  ハードディスクをフォーマットして、OS9.0を新規インストールしました。(OS9基本:推奨インストールを選択)  (註:ハードディスクは4つにパーテションしてシステムフォルダは1つ) そして、バックアップしておいた「初期設定」や「機能拡張」フォルダを もどしたところ..  起動した時に並ぶ「アイコンパレード」の時、アップルスクリプト機能拡張アイコンに、赤いバッテンがついてしまいました。  あらためて、AppleScriptだけ選んで、追加インストールしてみましたが 再起動しても、あいかわらず、赤いバッテンは付いています。  私の使うMacromediaのSOUNDEDIT16にAppleSciptが使われるので ぜひ、使えるようにしたいです。    初歩的な質問かも知れませんが、よろしくおねがいします!!

    • ベストアンサー
    • Mac
  • indesignでのapplescript

    はじめまして、indesign CS3で使用するapplescriptに関しての質問です。 自動で出力をしてくれるスクリプトを作りたいと思い、やってみたのですがうまくいきません。 色々調べて作ってみたのがこれです。 tell application "Finder" set filesInFolder to files in (choose folder) repeat with theFile in filesInFolder if name extension of theFile is "indd" then -- 拡張子を指定 set priset to "B4" -- プリントプリセットを指定 tell application "Adobe InDesign CS3" activate open theFile tell document 1 print using priset without print dialog close saving no end tell end tell end if end repeat end tell ここまではなんとかできたのですが、現段階では1階層下までのinddドキュメントしか読取ってくれません。 1見開きごとにパッケージしてできた子フォルダを一つの親フォルダにまとめることが多いので、フォルダ▶フォルダ▶.inddになります。 これでは親フォルダを指定したときに2階層下の子フォルダに分かれて入っている複数の.inddを一気に出力することができません。 何か解決策はありませんでしょうか? また、現段階に関してのご指摘もございましたらよろしくお願いします。

  • AppleScript 添削希望

    以下のスクリプトを1回実行するとデスクトップにフォルダ「t01」ができるのですが、 2回目以降「t02」とはならず、「test」のままで止まってしまいます。 OS 10.5.8 です。どこか間違ってるのでしょうか。 tell application "Finder" duplicate folder "test" of folder "_test" of desktop to desktop with replacing try set name of folder "test" of desktop to "t01" on error try set name of folder "test" of desktop to "t02" on error try set name of folder "test" of desktop to "t03" end try end try end try end tell

    • ベストアンサー
    • Mac
  • apple script の作成につきましての質問です。

    こんにちは、いつもお世話になっております。 現在、game pad companionという、 マウスのボタンを割り当てるシェアソフトを使用しています。 使用環境はPowerBook G4 17/1,5 OS X Tigerです。 マウスは Logicool MX-900 Bluetooth mouseです。 起動後、システム環境設定のパネルを開き GamePadCompanionを一度立ち上げて 「中止」ボタンを押し、その後に「開始」ボタンを 押さなければ、割り当てが適用されません。 そこでその操作をapplescriptにしたものを、 以前この掲示板で作っていただいたのですが、 OSをPantherからTigerに変えたところ動作しなくなってしまいました。 アプリケーション形式のapplescriptをを立ち上げると、 環境設定パネルが開き、GamePadCompanionまでは行くのですが、 それ以降進まなくなってしまいます。 そこで、エラー表記が 「NSReceiverEvaluationScriptError:4」と出ます。 applescriptをどのように訂正したら、 上記のような動作にすることができますでしょうか? 以前、教えていただきましたapplescriptは 「 tell application "System Preferences" activate set current pane to pane "com.carvware.gamecompanionpref" end tell tell application "System Events" tell process "System Preferences" tell window 1 click button "中止" delay 1 --1秒待つ click button "開始" end tell end tell end tell quit of application "System Preferences"」です。 よろしくお願いいたします。 また、applescriptの作成の仕方なのですが やりたい動作を行っているものを、 scriptエディタなどでダイレクトに文字に変えるような方法はありませんでしょうか? 自分なりにヘルプを読みながらやってみたのですが、 できませんでした。。。 質問ばかりですが、よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • apple script でURLの一部変更

     プログラム初心者です。  URLのアドレスの一部を「複数定義した中からランダムに変更して数回実行する」プログラムを作りたいのですが、ネット上を探したり、本を見たのですが、用語もあまりよく知らず、「ランダム、乱数、URL、変更」などの言葉で探してみたのですが参考になりそうなものが見つけれませんでした。  繰り返しは「repea」で出来る事は解ったのですが、あとがどうしても解りません。  仮にyahooのURLで書かせてもらうと repeat 3 times tell application "Safari" activate open location "http://dailynews.yahoo.co.jp/fc/local/otsu_suicide/?id=6103708" end tell end repeat  URLの一番最後の「?id=6103708」この部分を、例えば(a001,b002,c003)のどれかをランダムに選択して繰り返すようにしたい場合、どのような書き方をすればいいのでしょうか?  また今後、自分で探すときはどのような用語で探せば見つかるのかも教えてもらえると大変ありがたいです。  ご指導よろしくお願いします。