macOS のバッチスクリプトに相当
![macOS のバッチスクリプトに相当](/img/Batch/feature-image---batch-file-mac.webp)
Windows の場合、ファイル拡張子が .bat
である特殊なスクリプト言語名 Batch があります。一方、Linux 用の専用スクリプト言語である Bash には、拡張子 .sh
が付いています。
この記事では、Bash や Batch、AppleScript に似た macOS 用のスクリプト言語を紹介します。
macOS のバッチスクリプトに相当
AppleScript は、macOS オペレーティングシステム環境用に特別に構築された Apple によって作成されたスクリプト言語です。このスクリプト言語を使用して、ユーザーはスクリプト可能な Macintosh アプリケーションを直接制御できます。
これは macOS の一部でもあります。このスクリプト言語を使用すると、一連の命令を使用してスクリプトを作成したり、反復的なタスクを自動化したり、機能を組み合わせたりすることができます。
以下は、Hello World !!!
を印刷するための簡単な AppleScript を共有しています。この例のコードは次のとおりです。
tell application "My Application"
display alert "Hello world!!!"
end tell
バッチのこのコードに相当するものは次のようになります。
@echo off
ECHO Hello world!!!
どちらのコードも同じ出力を表示しますが、AppleScript コードはポップアップアラートで出力を表示します。
出力:
Hello world!!!
AppleScript の高度な例
これは、AppleScript の GUI 機能に焦点を当てた高度な例です。以下の例では、テキスト付きのポップアップメッセージを表示します。
この例の AppleScript コードは次のようになります。
display dialog "Some text here" with icon stop buttons {"OK"} default button {"OK"}
上記のコードは、AppleScript の GUI をサポートする基本的な通知ダイアログです。
AppleScript には少数のコマンドが含まれていますが、多くのタスク固有のコマンドを実行できるフレームワークを提供することでユーザーをサポートします。AppleScript の拡張子は .SCPT
です。
AppleScript アップデートは、AppleCorporation による macOS のアップデートで継続的にアップデートされます。以下に、AppleScript のいくつかのエキサイティングな機能を共有しました。
AppleScript の主な機能
- AppleScript は完全な Unicode をサポートしています。
- AppleScript 拡張アプリケーションオブジェクト。
- AppleScript には、更新されたスクリプト可能なシステム環境設定が含まれています。
- AppleScript には、読み取りおよび書き込み機能を含む多数の機能が含まれています。
- AppleScript はフレームワークのサポートを提供します。
- AppleScript は、フォルダアクションのサポートを提供します。
- AppleScript は、説明的なエラーメッセージのサポートを提供します。
- AppleScript は、タスクの自動化をサポートしています。
ここで共有した最初のコードは AppleScript で記述されており、Apple の macOS 環境でのみ実行できます。また、この記事で共有した 2 番目のコードはバッチスクリプトで記述されており、Windows コマンドプロンプト環境でのみ実行されます。
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn