今回のエントリーではこんなフォルダやファイルのリネームを一気に行う方法を紹介していきます。
こんな人が書いています
Macユーザー歴20年超のめんどくさがりインハウスデザイナー。
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という名前のフォルダをドラッグアンドドロップします。
outputフォルダのディレクトリが表示されます。
続いて、 sh rename.sh と入力。(この rename.sh の部分は先ほど任意の名前で保存したシェルスクリプトの名前)
その状態が上の画像ですね。
以上ですべてが完了です。最後の確認ですがターミナルを使う処理は⌘+Zのように手軽に戻れる処理ではないので、バックアップがあるかをしっかりと確認しておきましょう。
処理が終わると上記のように、大統領の名前だけだったファイルに(第○代)という表記が追加されました。スプレッドシート上でA列にあったデータがC列にリネームされているということですね。
この方法、リネームするファイルが大量にあるときはホントに便利です。
コードがわからないデザイナーでもコピペなどで簡単にできる処理なのでぜひお試しください。
それでは、今回はこのへんで。