【Mac OS】簡単なバッチファイル作成

公開日: 2025/3/27
そもそもバッチファイル(batch file)とは、Windows環境において実行したいコマンド列が記述されたテキストファイルです。

拡張子が「.bat」のため、BATファイルとも呼ばれます。

その他にも「.sh」拡張子も使用されます。

Mac OSでは「.command」や「.sh」が拡張子になります。


バッチファイルにコマンドを記述してその処理を順番に実行することを、バッチ処理と言います。

つまり、バッチファイルに上からコマンドを書いていけば、その順番で実行されるということです。

頻繁に実行する処理の一連の流れをバッチファイルに記述しておけば、いつでもまとめてその処理を実行できます。


バッチファイルのコーディングには、RubyやPythonといったスクリプト言語が用いられます。

1. バッチファイルで出来ることとその一例


バッチファイルを作成することでいろんなことができるようになります。

 ・自動化:大量のデータを移動、削除、バックアップ、変換など人の操作では余計な時間がかかってしまう処理を自動化することができます。

 ・効率化:自動化と似たような作業ですが、毎日同じ処理を繰り返す度に人の手で行うと時間がかかってしまう為、バッチ処理が役に立ちます。

 ・一貫性:人の手で処理をすると人によって手順がバラバラになる事もバッチ処理を行うことで操作に一貫性を持たせることができ、ヒューマンエラーを防ぐことができます。

 ・自動テスト:バックアップなどの処理以外にもソフトウェアのテストを自動化するのにも役に立ちます。バッチ処理は、主に金融取引の自動化やビッグデータの分析で使用されています。


次に、バッチファイルを作ることでのメリットとデメリットを説明します。

2. バッチファイルを作るメリットとデメリット


メリットは上記で出来ることとして説明していますが、一度バッチファイルを登録しておくと手間がかからず自動で処理を実行できる点になります。

例えば、毎月決まった日に売上の処理を行うバッチファイルを作成しておけば、売上の処理を人の手で行わず人為的なミスが起きなくなります。


デメリットとしては人の目でチェックしながら行う処理に対しては知らないところで問題が生じる可能性があることと、バッチファイルを作成した人にしかどのようなプログラムなのか分からないため引き継ぐ際に負担がかかる場合があります。

今回はMac OSで簡単なバッチファイルを作成していこうと思います。

3. バッチファイルの作成

それでは、簡単なバッチファイルを作ってみましょう。

今回作成するバッチファイルは下記が条件になっているものです。

 ・バッチファイル名:lg_test.command

 ・処理:新規フォルダの作成

 ・フォルダ名(1階層目):作成年

 ・フォルダ名(2階層目):作成月、文字列で「その他」

 ・日付の命名規則:YYYY、MM

 ・作成場所:デスクトップ

このような条件で作成していきます。

1.ターミナル(コマンドプロンプト)の起動

ではまず、ターミナルを起動していきます。

「Finder」を開き検索欄で「ターミナル」と入力して下記アイコンをクリックします。

図1:ターミナルアイコン


アイコンをクリックすると下記画面が開きます。

図2:ターミナル画面


2.バッチファイルの作成

ここからコマンドを入力してバッチファイルを作成していきます。

今回はバッチファイルの元となるファイルをデスクトップに作成していきます。

cd Desktop
touch lg_test.command

上記を入力し、「Enter」を押下

デスクトップに「lg_test.command」というファイルがデスクトップに作成されます。

その後バッチファイルの処理を入力する画面を開くために下記コマンドをターミナルに入力します。

vim lg_test.command

3.処理の入力

続いて処理を入力するので、「 i 」を入力。これで編集画面になります。

下の方に「insert」と表示されていれば編集が可能です。

それでは処理のコマンドをまとめて記述するので解説は後述していきます。

cd Desktop
mkdir  -p `date ‘+%Y’`/`date ‘+%m’` `date ‘+%Y’`/その他

編集を終わらせる際は「 esc 」キーで終了します。

入力した処理を終了させる際には下に記したコマンドからいずれかを選択して入力します。

:wq:入力した内容を保存して閉じる

:qa!:入力した内容を保存せず閉じる

:q:閉じる

今回はコマンドを入力したので「:wq」を入力してください。


続いて上に記載したコマンドの説明をします。

cd Desktop

このコマンドは、どの場所にフォルダを作成するかのコマンドです。

今回はデスクトップに作成をしたいので、Desktopを指定しています。

mkdir  -p `date ‘+%Y’`/`date ‘+%m’`

このコマンドは、どんなフォルダを作成したいかを指定しています。

細かく説明します

mkdir:フォルダを作るためのコマンドです。

-p:階層のあるフォルダを作りたい場合に入力しますpとは親を表す(parents)という言葉からきています。

date:日付を取得するためのコマンドです。今回は「年」と「月」を指定しています。今回のようにフォルダ名をコマンドで使用したい場合は「`」で囲む必要があります。

dateコマンドで指定できるフォーマットは様々な種類があります。一例を下記に記載します。

書式:説明

%Y:西暦4桁(1970〜)

%y:西暦下2桁(00〜99)

%m:月(01〜12)

%d:日(01〜31)

%H:時(24時間形式、00〜23)

%M:分(00〜59)

%S:秒(00〜59)

同じ階層に複数フォルダを

4. Mac OSとWindows OSの違い


今回はMac OSでバッチファイルを作成しましたがWindowsでもバッチファイルを作成することができます。

ここではそれぞれの違いを比較してみます。

1.使用するシェルの違い

Mac OS: Mac OSでは、通常はBashシェルがデフォルトで使用されます。

Windows OS: Windows OSでは、コマンドプロンプトやPowerShellが使用されます。

2.使用コマンドの違い

Mac OS:Mac OSでファイルのリストを表示するコマンドはlsになり、Unixコマンドやオプションが利用可能です。

Windows OS:Windows OSでファイルのリストを表示するコマンドはdirであり、独自のコマンドやオプションがあります。

3.拡張子の違い

Mac OS:Mac OSで使用されるバッチファイルの拡張子は.shや.commandです。

Windows OS:Windows OSで使用されるバッチファイルの拡張子は.batや.ps1です。


改行コードなど他にも違いがありますが、大きな違いとしては上記に4つになります。