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

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年)。そのかたわらフリーでデザインをしています。ラクにできるところはラクに!という時短デザインを推奨しています