どうも、nippa です。
今回は macOS での バッチ処理用の command 拡張子ファイルについてまとめたいと思います。
command 拡張子ファイルは自動でターミナルの起動し、shell の内容を実行してくれます。
簡単な作業で Finder からクリックで実行したいときに便利です。
今回は bash を使って試していきたいと思います。
環境
command 拡張子ファイルについて
command 拡張子ファイルは macOS のバッチファイルになります。
ターミナルを開いてコマンドを打ち込むことが面倒な作業を Finder からファイルをクリックするだけで実行可能です。
例えば、ルールに従ったファイル名の書き換え等にはとても便利です。
command 拡張子ファイルの実行例:ファイル名の修正処理
今回、フォルダに入っているファイル名の先頭に文字列を追加するバッチ処理を作成してみたいと思います。
フォルダに入れたファイルの先頭に00_
をつける処理をバッチで行ってみます。
バッチ処理の作成
prefix.command
というファイル名で作成していきます。
#!/bin/bash DIR='Path' #path FILE='prefix.command' fs=$(ls ${DIR} | grep -v 00_* | grep -v ${FILE}) for f in $fs ; do mv "${DIR}/${f}" "${DIR}/00_${f%%*/}" done unset DIR unset fs unset f exit 0
バッチ処理を実行する際は、ターミナルにログインしホームディレクトリで実行されます。
そのため、絶対パスで処理することをおすすめします。
また、クリックで実行するためには、バッチ処理ファイルには実行権限をつけて置く必要があります。
chmod 744 prefix.command
テストファイルの作成
以下の bash コマンドでファイルを 5 つ作成します。
i=0; while [ $i -lt 5 ] ; do ; touch "file${i}.txt" ; i=$((++i)); done
以下の 5 つの空のファイルが生成されます。
file0.txt file1.txt file2.txt file3.txt file4.txt
バッチ処理の実行
Finder からprefix.command
をクリックで実行するとファイル名の先頭に00_
が追加されます。
00_file0.txt 00_file1.txt 00_file2.txt 00_file3.txt 00_file4.txt
感想
command ファイルを使えば bash で簡単なバッチ処理を行うことができます。
日頃の面倒だと感じる作業をこれでバッチ化してみてはいかがでしょうか。
ではでは、また次回。