こんにちは、FujiNetNetです。
業務上で、多くのファイルを扱うことがあると思います。
そんな時に役立つ
・1つのファイルから連番の複数ファイルの作成
・一括名前変更の方法(変則的な名前対応)
のお話をしたいと思います。
最下部には、この2つを同時に行うやり方も記載しておきます。
今回はテキストファイルでやってみようと思います。
フォルダ名は何でも良いですが
実験では「test_名前変更」というフォルダ名にしてみます。
その中に、新規テキストファイルを作ります。
「名称未設定9.rtf」というファイルができました。
(どれだけテキストを立ち上げているんだという感じですが・・・)
この「名称未設定9.rtf」が元になるファイルということになります。
今回の実験では「001〜051.rtf」を作ってみます。
ターミナルで作ります。
ターミナルを立ち上げて
cd(半角スペース)と打ち込みます。
(cd =フォルダやファイルに移動するコマンド)
そしたら、さっき作った「test_名前変更」というフォルダをドラッグ&ドロップ
するとパスが入力されます
(以前に書いた、パスのコピーをしても良いのですが
こちらの操作の方が断然に早いです。)
エンターキー(リターンキー)をバチン!
すると・・・ターミナルが、
このような表示になります
〜のiMac : test_名前変更 ユーザーネーム$
(無事に目的のフォルダに移動しました)
そこにこのコマンドを
for i in {番号..番号}; do cp 元になるファイル 作られるファイル;done
といった感じですが、
今回は下記のコマンドになります。
for i in {1..9}; do cp 名称未設定9.rtf 00$i.rtf;done
for i in {10..51}; do cp 名称未設定9.rtf 0$i.rtf;done
各「$i」のところに
{1..9} =「1〜9」
{10..51} =「10〜51」
の連番が入ります。
2つに分けているのは「1〜9」には前に「00」が必要になり
「10〜51」には前に「0」が必要になるという形になっています。
では、今回のコマンドををコピペしてみると・・・
for i in {1..9}; do cp 名称未設定9.rtf 00$i.rtf;done
for i in {10..51}; do cp 名称未設定9.rtf 0$i.rtf;done
(両方いっぺんで大丈夫です)
貼り付けた瞬間に
for i in {1..9}; do cp 名称未設定9.rtf 00$i.rtf;done
は計算され
既に001~009までのテキストが出来ています
更に、ターミナルでエンターキー(リターンキー)をバチン!
見事、001〜051までの連番のテキストが出来ました。
因みに、理解したと思いますが
2桁の場合は
for i in {1..9}; do cp 名称未設定9.rtf 0$i.rtf;done
for i in {10..51}; do cp 名称未設定9.rtf $i.rtf;done
というコマンドで「01〜51.rtf」が作れます。
ここまでが連番のお話になります。
今度は「一括名前変更の方法」になります。
バラバラの番号や名前のファイルを一括で名前変更したい
ということがあると思います。
例えば、こんな名前としておきます。
連番になっている箇所もあるけれど、全く飛んでいるところもある・・・
これを1つ1つ打ち込むのは面倒です・・・
そんな時は、AppleのNumbers等を活用するのが簡単です。
Macの話をしているので、MacにNumbersはありますし
なければApp StoreでDLできます。
さっき作った連番を活用して、この名前に一括変更するための作業をしていきましょう。
Numbersを立ち上げて
実験ではこのようにしてみます。
さっきの連番を選択して、コピー(⌘ + C)
Numbersの「名前を」列にペースト(⌘ + V)すると
貼り付けられました
同じように変えたい名前の物を選択してコピー
「この名前にしたい」列に貼り付ける
そうしましたら、「セル」 → 「データフォーマット」
「データフォーマット」 → 「カスタムフォーマットの作成」を選択
中段の「カスタムフォーマット:」の項目の
「テキスト」の後ろに「.rtf」と記入
そしてOK!
「.rtf」が追加されました。
そして「ここに新規数式を入れる!」列はというと
挿入より新規数式を選択
するとこのように数式を記入できるようになります
そこにこの数式をコピペしましょう!
“mv ” & A2 & ” ” & B2
チェックマークを押しますと
「mv」(半角スペース)「001.rtf」(半角スペース)「Test.08099.rtf」
となりますね
左の2つのファイル名がしっかりと反映されています。
そして、下部の点
この点を必要な分、下に引っ張ります。
Numbersの操作は完成しました。
この出来上がった「新規数式を入れる!」列のものを
これから作るテキストにコピぺします。
立ち上がったら標準テキストにするため
⌘ + shift(⬆️) + T
または
フォーマットより、標準テキストにするを選択し、
「新規数式を入れる!」列のものをコピペします!
セーブ(⌘ + S)を押し
拡張子を変更します。
「.txt」を「.sh」にします。
名前は「test_名前変更」にしてみました
=「test_名前変更.sh」
これで準備完了です!
そうしましたら、連番の複数ファイルの作成時と同じように
ターミナルを立ち上げて
cd (半角スペース)
の後にファイル名を変更したいフォルダ
「test_名前変更」フォルダをドラッグ&ドロップ
エンターキー(returnキー)をバチン!
更に
sh (半角スペース)
作った「test_名前変更.sh」をドラッグ&ドロップ
エンターキー(returnキー)をバチン!
フォルダの中を確認すると
見事、目的のファイル名になりました
はい、ここで、両方を1発でやりたい方もいるかと思いますので
その方のために
for i in {01..51}; do cp 名称未設定9.rtf $i.rtf;done
sh /Users/ユーザー名/Desktop/test_名前変更.sh
(同じようにデスクトップに置いてる場合ですが)ユーザー名部分を変更して、
これをターミナルにコピペして
エンターキー(returnキー)をバチン!
とすれば、連番のファイルが出来たと同時に
目的のファイル名になります。
(この実験の場合のものなので該当箇所を変更してご使用ください)
(又、Numbers作業やシェル「.sh」の作成などは必要です)
1回作るまでは面倒かもしれませんが
一旦、このものを作ってしまえば
後は、該当箇所の名前を変更等すれば
ポンポンと進められます
誰かのお役に立てば嬉しいです。
今回はこんなところで!