共有フォルダを整理したい(その3_フォルダやファイル名を変える_基礎編)
その2で決めたルールに従って、大量のフォルダやファイルの名前を変更するための効率的な方法について紹介します。
1で紹介するのは、マクロやプログラミングを使わない手動でできるだけ効率的に行う方法です。
2で紹介するのは、簡単なプログラミングとエクセルを組み合わせて、自動的にフォルダやファイルの名前を一括変更する方法を紹介します。
ルールに従って、大量のフォルダやファイルを整理する際に、そのための効率的な方法をよく検討してみましょう。また、データを間違って消去しないために必ずバックアップデータを保存するか、新しい領域にデータをコピーして作業しましょう。
1.手動で変更する場合に効率的な方法
エクスプローラで変更したいフォルダをクリックして「F2」キーを押します。名前を変更したら「Tab」キーを押せば、続けて次のフォルダ名を変更できる状態になります。
変更する名前がある程度共通する部分をコピー(「Ctrl」キー+「c」)して、次の変更する名前に貼り付ける(「Ctrl」キー+「v」)作業を繰り返し、すべてのフォルダを変更した後に「010_」を「020_」・「030_」・「040_」に整えると効率的です。
もう一つの便利な方法として、エクスプローラの名前の重複を避ける機能を利用して、同じフォルダやファイル名にして末尾に(1)、(2)と数字を表示させることができます。変更したいフォルダを「Shift」キーや「Ctrl」キーを使って選択し、先頭のファイル名を変更して最後に(1)を付けます。
「Enter」キーをクリックすると末尾の(1)が連番に一括変換します。
2.簡単なプログラミング(cmdやpowershell)とエクセルを組み合わせて、自動的にフォルダやファイルの名前を一括変更する方法
a.フォルダやファイルの名前を取得する。
ここでは①コマンドプロンプト(cmd)と②powershellの2通りの方法を紹介します。
①コマンドプロンプト(cmd)でフォルダ名のみを書き出したテキストファイル(txt)を作成します。
エクスプローラで取得したいフォルダのアドレスバーに「cmd」と入力します。
コマンドプロンプト画面に以下のコードを入力し、「Enter」キーを押します。
dir /b /ad > フォルダ名一覧.txt
フォルダ名一覧.txtファイルが作成されました。
フォルダ名一覧.txtを開くと以下のとおりです。
因みにファイル名のみをテキストファイルに書き出す場合のコードは次のとおりです。
dir /b /a-d > ファイル名一覧.txt
②powershellでフォルダ名のみを書き出したテキストファイル(txt)を作成します。
エクスプローラで取得したいフォルダのアドレスバーに「powershell」と入力します。
powershellの画面に次のコードを入力し、「Enter」キーを押します。
dir -name -exclude *.* | out-file フォルダ名一覧.txt
①cmdと同様に「フォルダ名一覧.txt」が作成されます。
因みにファイル名のみをテキストファイルに書き出すときのコードは次のとおりです。
dir -name -include *.* | out-file ファイル名一覧.txt
b.取得したフォルダやファイルの名前をエクセルで一括変換する。ここでは、エクセルの中でcmdに貼り付けるコードを作成します。
エクセルを開いて、取得したフォルダ名.txtファイルのデータをB列とD列にコピーします。A列に「ren」、C列に「付け加えたい数字と記号」、E1セルに「CONCATENATE」または「CONCAT」関数+A1+半角スペース+B1+半角スペース+C1+D1の式として次のとおり入力します。
=CONCATENATE(A1," ",B1," ",C1,D1)
または
=CONCAT(A1," ",B1," ",C1,D1)
c.エクセルで作成したコードをコマンドプロンプト(cmd)で実行してフォルダ名を自動で変更します。
エクセルのE列をコピーして変更したいフォルダのアドレスバーで開いたコマンドプロンプト(cmd)に貼り付けます。
次のとおりフォルダ名の先頭に「010_」「020_」を追加して変更できました。
次回その4では、VBAマクロやpowershellを利用したフォルダやファイル名の一括変換の方法について紹介したいと思います。