• 締切済み

Mac OS X でバッチファイルのようなものは?

Windows では、デフォルトの状態で *.bat というファイル名で保存し、ファイルを開くと、そのファイルに書かれた内容が順番に実行される仕組みがあります。 では、Macで同じようなことをしようとした場合どうすればよいですか。 bash シェルスクリプト、というものがあることは知っています。 より具体的に説明します。 アプリケーションを起動するためのテキストを、ファイルに書いておき、Finderからそれを開く事で、記述した通りにアプリケーションが起動するようにしたいです。 Windowsにおいて同じディレクトリに2つのファイルがあります 1) setdir.bat set dir1=C:\d1 1終わり) 2) exec.bat call setdir.bat set apppath=dir2\dir3\dir4 set execfile=app.exe set param=-foo -bar start "" "%dir1%\%apppath%\%execfile%" %param% 2終わり) これでエクスプローラで exec.bat を開くと、app.exe が実行されます。 MacのFinderでファイルをダブルクリックしたときに、同じように何かアプリケーションを実行するようにしたいです。Tarminalを起動してCUIでスクリプトを実行する方法ではありません。 ファイルは2つなければならず、一度変数に代入してから、変数を使って最終的に起動するという点は変えないでください。

  • Mac
  • 回答数3
  • ありがとう数0

みんなの回答

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.3

Applescriptで。

  • cliomaxi
  • ベストアンサー率33% (2921/8736)
回答No.2
回答No.1

一瞬だけターミナルが表示されるけど・・・ 間違ってたらごめんなさい //setdir.sh #!/bin/sh DIRL="/hoge/" //exec.sh #!/bin/sh source setdir.sh APPPATH="dir1/dir2/dir3/" EXECFILE="App.app" PARAM = "-foo -bar" open -a $DIRL$APPPATH$EXECFILE $PARAM

関連するQ&A

  • JavaScriptによる.exeファイルの実行

    JavaScriptファイルJS.htmlの実行によって 同ディレクトリ内のバッチファイルDIR.batファイルを実行し DIR.batがDIR.txtを生成するのを待ってDIR.txtをJavaScriptの内部変数var strに読み込ませる方法を教えてください なおDIR.batの内容はdir>DIR.txtです

  • バッチファイルを実行するとエラーが出る

    win2000を利用しています。起動時に自動的にアプリケーションを実行させるバッチファイルを作りたいのですがエラーがでます。 以下のように書いています。このバッチファイルをスタートアップに入れて実行させたいと思っています。 そして試しに手動で実行してみると、構成ファイルが見つからない、パス名を確認してくださいと言ったいエラーが出ます。 パスが間違っているのかと思い、 「C:\Program Files\Internet Explorer\IEXPLORE.EXE」だけをファイル名を指定して実行をするとちゃんとIEが起動します。 何が間違っているのかわからないのですが、ヒントだけでもお願いします。 test.bat(ファイル名) --------------------------- start C:\Program Files\Internet Explorer\IEXPLORE.EXE ---------------------------

  • バッチファイル 戻り値

    いつも大変御世話になっております。 WindowsVISTA環境で以下バッチ【ABC.bat】が稼動します。 "ABC.bat"------------------------------------------------- @ECHO ON set bat_name="ABC.bat" call DEF.bat echo %bat_name% は戻り値 %ERRORLEVEL% を受け取りました。 "ABC.bat"------------------------------------------------- 上記バッチの構文では以下バッチDEF.batを起動させ、ERRORLEVELを取得させます。 "DEF.bat"------------------------------------------------- @ECHO ON set bat_name="DEF.bat" exit /b 10 "DEF.bat"------------------------------------------------- 実行結果は予想していたものと違っていました。 予想していた実行結果 : "ABC.bat" は戻り値 10 を受け取りました。 実際の実行結果     : "DEF.bat" は戻り値 10 を受け取りました。】 %ERRORLEVEL%のみを取得したかったのですが DEF.bat の set bat_name="DEF.bat" までも取得してしまいました。 bat_name はどうしても "ABC.bat"とCALLする側の変数を使用したいのですが 制御は難しいでしょうか? echo %bat_name% は戻り値 %ERRORLEVEL% を受け取りました。 の直前に 再度 set bat_name="ABC.bat" と記述しなければダメでしょうか? 尚、都合上、ECHO文と変数名は変えたくありません。 もしご存知の方がいらっしゃるようでしたら、お手数ですが 実現可能かどうかをご回答願いますでしょうか? 以上、何卒宜しくお願い致します。

  • バッチファイルが認識されず起動しません

    バッチファイルをダブルクリックしても、「○○○. batは有効なWin32アプリケーションではありません」と表示されて、起動できません。 ■環境:WindowsXP 64Bit版 SP3 ■以下、確認したこと (1)非常にシンプルなTEST.BATを作成したが、同じエラーが表示され起動できませんでした。   このバッチファイルの内容は cmd/k dir c: (2)Windowsの拡張子に対する関連付けは、「Windowsバッチファイル」になっていました。 (3)環境変数のPATHEXTに.BATは登録されていました。 (4)自分以外のユーザーでログオンすると、バッチは正しく動作します (5)Dos窓にバッチファイルをドラッグ&ドロップすると、正しく動作します 何かWindowsの設定がおかしいのでしょうか? とても困っています、教えてください!

  • VBSでバッチファイルを実行したときに

    VBSでbatファイルを起動したときに、 batファイルの実行が完了するまで、 「ただいま、処理中・・・」というような ダイアログボックスを表示し、処理完了後に そのダイアログボックスを消して、次処理へ いくようなスクリプトの記述の仕方がありまし たら教えてください。 よろしくお願いいたします。

  • ccleaner バッチファイル

    win7 x64, 下記bat fileを実行すると、ccleaner が起動します。 ----A ところが、次のwisecare365.exe も起動します。 -----B つまり、2つ起動します。x64 PC共通です。 win7 x86 や xp では、A 終了後、Bが起動します。 問い合わせ内容: 2つ起動しない様にする方法を教えてください。 ccleanerが終了後、wisecare365が起動する様にしたい。 test.bat "D:\Program Files\CCleaner\CCleaner.exe" "D:\Program Files\Wise\Wise Care 365\WiseCare365.exe"

  • MSDOSのバッチファイル

    についての基本的な質問ですが test.bat: @c:\php\php.exe script.php %1 %2 %3 %4 と言うファイルについてこの1行をどう解釈すればいいのでしょうか?

  • mysqlのloadコマンドに引数をセットするバッチの作成

    mysqlのloadコマンドに引数をセットするバッチの作成 データ移行でロードするファイルが数多くあり バッチ処理(param.bat)で実行できるようにしたいのですが、 SQLスクリプト(param.sql)にうまく引数を渡すことができません。 引数1にデータ:aaa.txt 引数2にテーブル:test_tbl どうかアドバイスいただけないでしょうか。 宜しくお願いいたします。 OS:Windows XP 【実行時】 c:temp>param.bat aaa.txt test_tbl 【作成したファイルの記述】 param.bat ------- mysql test1 -u user1 -puser1 < param.sql %1 %2 param.sql ------- LOAD DATA INFILE '&1' INTO TABLE &2 FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'; exit;

  • マックでバッチファイル

    WindowsXP用バッチファイル(.CMD)を,MacOS-9の,単数の標準のバイナリー実行ファイルに,完全変換する方法を教えてください。  見た目が同じになれば,バッチをEXE(エグゼファイル)に変換後,それをマック用ファイルにする等,どんな方法でも結構です。  バッチで使用するコマンドは,@ECHO・TITLE・COLOR・SET(環境変数機能を利用した電卓として)・GOTO,です。  改めて,単数の,バイナリー形式の,実行ファイル,である事が条件です。お願いします!

  • バッチファイルの変数引継ぎについて

    行き詰ってしまったので、どなたか知恵を授けていただければと思います。 現在、あるソフトウェアの「バッチモード」という機能を使用したバッチを作成していて、構文が > sdcmd batch ***.txt 上記のようにコマンドを羅列したテキストファイルを指定した実行コマンドになります。 sdcmd以降はソフト指定のコマンド以外は使用できず、変数設定ができない為に変数設定とログ保存を兼ねて上記コマンドを記載したバッチを > setlocal EnableDelayedExpansion > set ○=△△△ > set ■=◇◇◇ > call aaa.bat %* >> aaa.log 2>&1 という内容の呼び出しバッチを作成たのですが、テキストファイル内の変数が代入されずに 実行されてしまいます。 cmd上から直接 > setlocal EnableDelayedExpansion > set ○=△△△ > set ■=◇◇◇ > sdcmd batch ***.txt >> aaa.log 2>&1 を実行しても変数の代入は行われませんでした。 cmd上で変数とテキストファイル内のコマンドを手動実行すれば変数は解決できます。 設定した変数を、テキストファイル内の変数値に代入する方法はあるでしょうか。