Mac標準アプリとスプレッドシートで大量のファイル名を一括で簡単リネーム

Mac標準アプリとスプレッドシートで大量のファイル名を一括で簡単リネーム
ルーキーくん
大量のフォルダの名前をリネームしなければならなくなりました。簡単に名前を変えられるいい方法はありませんか?

今回のエントリーではこんなフォルダやファイルのリネームを一気に行う方法を紹介していきます。

この記事の内容
・大量のフォルダやファイルの名前を一括で簡単に変更する方法

こんな人が書いています

exp

Macユーザー歴20年超のめんどくさがりインハウスデザイナー。
Macでも無料で使えるスプレッドシートの使い方
無料で使えるアプリなどを紹介


ルーキーくん
先輩、助けてください!
デザインさん
ん?どした?非常事態?
ルーキーくん
実は会社から、データアーカイブ管理担当に任命されたんですけど。
デザインさん
なに、それ?
ルーキーくん
まあ平たくいうと、会社にあるデータを綺麗にまとめて管理運用をしやすくしようっていう内容なんですけど。
デザインさん
(お〜、あの歴代みんなが断ってきたやつだな)それはおめでとう!
ルーキーくん
それで会社のアーカイブ見てみたんですけど、フォルダにせよファイルにせよ、命名のルールがそれぞれ違いすぎて。いろんな人がそれぞれ好き勝手に決めてデータ放り込んでたみたいなんですよ。
デザインさん
(みんな見て見ぬふりしてたからな、あれ、、、)
ルーキーくん
名前のつけ方がグチャグチャなんですよ。全角半角もグチャグチャ、スペースの全角半角もグチャグチャ。ルールもなし。何人もの担当者が好き勝手に使ってたから、マジでカオスですよ、あれ。無法地帯です。
デザインさん
おうおう、とりあえず落ち着け、な?はい深呼吸〜。
ルーキーくん
ふ〜。んで、それを新しい命名規則を元に書き換えなきゃならないんです。それでいざ調べたらファイルが1万個以上あって、、、
デザインさん
手入力してたら気が狂うな。。。
ルーキーくん
そうなんですよ。なんで先輩、一緒に気狂いましょうよ!頼んます!
デザインさん
やだよ、そんなの。一人でやってくれよ。
ルーキーくん
んな!?かわいい後輩の大ピンチですよ!??冷たすぎやしませんか???
デザインさん
別にピンチでもないって。「複数のフォルダの名前を一括で新しい名前に置き換える方法」あるし。しかもMacの標準アプリと、スプレッドシートでできるよ
ルーキーくん
え?あるんですか?じゃあ早く言ってくださいよ。取り乱しちゃったじゃないっすか〜。
デザインさん
まあわりといつも取り乱してるから心配いらんよ。
ルーキーくん
え?それどういう・・・

今回も便利なデータ管理術の紹介です。その内容がズバリ

Macの標準アプリ(ターミナル)とGoogleのスプレッドシートを使って、大量のファイル名を一括でリネームする方法

この方法ではシェルスクリプトというデータを利用しますが、デザイナーでプログラムなどの理解がなくても簡単にできるテクニックで、テンプレートなどもダウンロードできるようにしているので、ここで紹介する手順に進めるだけで簡単に実現できるので気になった方はまず一度お試しください。

今回、私がこのテクニックが必要になったのは、会社の大量の商品情報を修正し変更する必要が発生したためでした。企業に在籍するインハウスデザイナーはわりとなんでも屋な一面があるので、こういったデータ管理も仕事のうちに入ってしまうんですよね。

そこで、なるべく工数をかけず手数を減らしかつスピーディーにリネーム作業を行う方法を探した結果、今回紹介する方法にたどり着きました。

Macの大量ファイルを一括リネームする流れ

全体の流れとしては

1. バックアップを取る
2. スプレッドシートにリネームのためのデータを作成する(スプレッドシート )
3.テキストエディットに1.で作成したデータをペーストしシェルスクリプト の形式で保存
4. ターミナルを使ってリネームをするコードを書く(ターミナル)

という流れで実現していきます。

1.バックアップをとる

まずはバックアップをとります。ターミナルを使った変更は⌘+Zのような「戻る」という処理ができないのでかならず自身でバックアップをとりましょう。

2. スプレッドシートにリネームのためのデータを作成する

つづいてリネームのためのデータをスプレッドシートで作成していきます。ちなみにこのデータ作成についてはエクセルでもnumbersでも作成できると思います。ご自身の環境に合わせてアプリを使い分けてください。

今回は無料で使用できることもありスプレッドシートを使用しています。

まずは、こちらよりデータをダウンロードください。すでに必要なコードが含まれたデータになりますが

❶A列に変更したいファイル名の一覧を、❷C列に変更後のファイル名の一覧を記載することで、表の中の関数によって

❸D列に今回必要なシェルスクリプトのコードが出来上がります。

つまり

❶を❷にリネームするためのスクリプトの記述が❸となる

ということですね。

ちなみに変更元のファイル❶の一覧のテキスト(A列が該当)はこちらの記事の方法を使用すると抽出がとてもスムーズです。標準のアプリを使ってあっという間にテキストの一覧が取得ができます。

↓Mac標準アプリでファイル名の一覧をテキストに書き出す方法

今回も以前の記事で使用しているアメリカ大統領の名前を活用しましょう。変更したいファイル名には(何代目の大統領か)を足す形にしようと思います。

まずはこちらのファイルをダウンロードをください。

ダウンロードしたファイルは上記のようにA列には大統領名が、C列には大統領(第〇〇代)というテキストが入っています。ちなみにB列は半角スペースの空白が入っていますが、こちらも必要な半スペなのでそのまま手を加えないようにしてください。

ご自身で使うときは、このA列とC列の中身をかえれば使えるようになっています。

これで、D列に求めるシェルスクリプトのデータが用意できました。あとはこの一列をコピーし、テキストエディットにペーストしデータを引き渡します。

3.テキストエディットに2.で作成したデータをペーストしシェルスクリプトの形式で保存

テキストエディットにペーストが完了後、保存します。その際に名前は任意で構いませんが、拡張子は.shとなります。(shはシェルスクリプトにつける拡張子)

今回はわかりやすく rename.sh としました。これでシェルスクリプトの準備が完了です。

続いてファイルに準備をしていきます。変更したい変更元のファイルと先ほど作成した rename.sh を同じフォルダにいれます。今回は output というフォルダに全てをまとめます。

次はターミナルでこのファイルを書き出していきましょう。

4. ターミナルを使ってリネームをするコードを書く(ターミナル)

最後のステップ。ターミナルを開くと上記のような画面になります。全く使ったことがない人はこの時点で恐怖を感じますが、やることは限定された簡単なステップなのでご心配なく。

この画面で cd +半角スペース を入力し、先ほど作成したoutputという名前のフォルダをドラッグアンドドロップします。

ドラッグアンドドロップすると
/Users/□□□□□□/Desktop/output ・・・

outputフォルダのディレクトリが表示されます。

続いて、 sh rename.sh と入力。(この rename.sh の部分は先ほど任意の名前で保存したシェルスクリプトの名前)

その状態が上の画像ですね。

以上ですべてが完了です。最後の確認ですがターミナルを使う処理は⌘+Zのように手軽に戻れる処理ではないので、バックアップがあるかをしっかりと確認しておきましょう。

処理が終わると上記のように、大統領の名前だけだったファイルに(第○代)という表記が追加されました。スプレッドシート上でA列にあったデータがC列にリネームされているということですね。

この方法、リネームするファイルが大量にあるときはホントに便利です。

コードがわからないデザイナーでもコピペなどで簡単にできる処理なのでぜひお試しください。

それでは、今回はこのへんで。

ABOUTこの記事をかいた人

現場のグラフィックデザイナーに有用なリアルな技術やスキルアップの方法などを発信しています。 デザイン制作会社に8年→現在は都内にある日用品メーカーのグラフィック系インハウスデザイナーとして7年(総デザイナー歴15年)。そのかたわらフリーでデザインをしています。ラクにできるところはラクに!という時短デザインを推奨しています