バタンキュー

Web制作の現場から・・ただいま少し一休み中

※当ページを閲覧される場合は、Windows7以上、Internet Explorer11などの安全でできるだけ最新の閲覧環境でアクセスされることを推奨いたします。
※タブレット端末などのブラウザーで横幅640px以下の画面解像度で閲覧される場合は、レイアウトが崩れて正しく表示されない可能性がありますのでご了承ください。


ファイル名を一括変換したい・・

カテゴリー:四十而不惑なところ
なんてことが本当にたま〜にあるんです。ご紹介してるページにも書かれてるよに、年に1回あるかないか・・くらいの頻度ですが、複数のファイルをまとめてダダーっとリネームしたい時が出てくるんですよねー。で、悲しいかなPCメーカーのサポートページやMicrosoft コミュニティで解決方法として完結してしまってるのが次の方法やったりします。

参照:Windows 8 / 8.1で複数のファイル名を一括で変更する方法 | 121ware.com > サービス&サポート > Q&A > Q&A番号 013989

参照:一気にファイル名を変更する|Windows 7 (ウィンドウズ 7)|Microsoft atLife TIPS アーカイブ

んむむ〜、そうじゃないな〜・・。確かに連番とかにはしたいんやけど、ファイル名の末尾に全角の括弧「(」「)」に挟まれた半角数字が自動でくっついてしまう仕様がどーも×××。
かといって、年に1回あるかないかの作業のために専用のアプリケーションをインストールするなんてことは避けたいんよね〜と考えてしまい・・結局のところ、そのまま放置してしまうことが多いこの頃なゴロゴロ感。

うぉーい、自分!こんなこっちゃいかんぞー、しっかりせい!と今朝方、急にPCの前に向かってカタカタとやり出し、何とかソフトを使わずにフォルダー内のファイルのファイル名を一括して変換処理することに成功!!
デフォルトでWindowsに付属してる「コマンドプロンプト」と「エクセル」、あとは「メモ帳」とかのテキストエディター(出来れば「Shift_JIS」以外に「UTF-8」の文字コードが扱えるものの方が良きかな?)を使う方法です。
実はこの「コマンドプロンプト」、個人的に苦手です。DOS時代のコマンドライン戦士で、結構何でもこなせるオールマイティーなやつらしいですが・・この無表情なインターフェースがどうも苦手です。

参考:DOS (OS) by Wikipedia

参考:MS-DOS by Wikipedia

参照:コマンドプロンプト(DOSプロンプト)の使い方 | ZSNESの解説ページ

参照:コマンドプロンプトを使ってみよう! | YKR

デスクトップからWindowsロゴマークを右クリックで表示するクイックメニュー「コマンドプロンプト」の起動方法とかに関しては、いろいろと方法があって、OSによっても様々なのでここでは敢えて詳しくご紹介しいたしません。是非、自分に合った方法を見つけてご利用くださいまし。
ちなみに私の環境(Windows 8.1)ではデスクトップから画面左下のWindowsロゴ上で右クリックメニュー or 同じメニューを表示させるショートカットキー([Windowsロゴ]キー+[X]キー)から素早く起動させることができまする。


下記は実際に調べて活用させていただいた、すごーく参考になったページでございます。実際にやってみて、少しうまくいかない部分もあったんですが何とかクリアして大成功しました!ありがとうございます!!

参照:リネームソフトなしで手軽にファイルを一括リネームする方法 - Today is a gift

コマンドプロンプト起動画面で、こちらは実際に私が起動したコマンドプロンプトの画面でございます。このままやと何かと操作しづらい・・というか出来ましぇん。目的のファイル群があるフォルダーまで一気に移動するために、「cd」というカレントディレクトリーを変更するコマンドを入力してEnter!その後ろの「/d」ってのはオマケで、コマンドのオプション機能らしいです。→詳しくは先ほどの参照ページ「コマンドプロンプト(DOSプロンプト)の使い方」や、「コマンドプロンプトを使ってみよう!」をご覧あれ。

コマンドプロンプトでカレントディレクトリーを移動したり、ファイルリストを作ったり・・・と操作してます目的のフォルダーまで移動できたら、今度は「dir」っていう中身を見るコマンドとオプションを使って、『rename.txt』っていうファイル名で同じフォルダー内にファイルリストのテキストファイルを書き出してます。まぁ、参照ページ(Today is a gift)をそのまま真似てるだけです・・・。続けて別のフォルダーでも作業したかったので、また「cd」コマンドで移動した後「dir」コマンドでファイルリストを書き出して、最後は「exit」で終了してます。「exit」は入力しなくても、右上の「×」で閉じても良いみたいです。

後もほとんど参照ページ(Today is a gift)のとおりで、エクセル操作の時に連番にしたかったら最初のセルに例えば001とか入力して、セルの右下角をドラッグして連番データとかにすれば書式設定せんでも連番になるし、連番にせずに個別に変換したかったら個別に設定すればエエしと、すごい便利ですよ!
一番良いと感じたのは、エクセルを使うメリットって関数や自由な書式設定が使えることやと思うんですが、まさにそこやと思います。リネーム用のアプリケーションや、先に紹介したPCメーカーのサポートページの説明とかMicrosoft コミュニティの解決方法やとこんな自由度は絶対あり得ましぇんな!!

そして、ここからは私からの補足・・参照ページ(Today is a gift)には書かれてない文字コードのこと。

例えば、元のファイル名が「Shift_JIS」とかのJISコード文字以外の記号や「UTF-8」の文字なんかを含んでた場合、ちと追加が必要です。恐らくコマンドプロンプトで書き出したファイルリストはJISコードに書き換えられてる可能性があります。もしくは、エクセルでファイルリストを開くと、元のファイル名と何か違う文字になってるな〜と気づくはずです。その場合は、とにかくエクセルでCSVファイルを書き出すところまで進めます。

で、CSVをテキストエディターで開いた時に、おかしくなったファイル名の部分を元のファイルからコピペで一括置換して、あとは参照ページの操作と同じ処理(半角カンマを半角スペースに変換する処理)もしておきます。

次に、一番上の行に、おまじないの命令を書き込みます。
例えば、ファイル名にUnicode(UTF-8)を含んでる場合、chcp 65001 を一行目に追加して改行!そしてバッチファイルとして保存する際に、ファイル自体の文字コードを「UTF-8」として保存します。
「chcp 65001」の「65001」ってのがUnicode(UTF-8)を意味してるっぽいです。その他のコードナンバーは下記ページをご参照くだされ。

参照:Code Page Identifiers (Windows) | Microsoft Developer Network

出来たバッチファイルを、もしデスクトップとか別の場所に保存した場合は、リネームしたいファイル群がある同じフォルダー内に持っていってから実行(ダブルクリック)するべし。でないと反応なしですよー!

それと、参照ページ(Today is a gift)のコメントに“スペースは ? とすればrenameできるようです。”と、ファイル名の中に空白がある場合の解決方法が載ってますが、私はファイル名を半角ダブルクォーテーションで括る(ファイル名の最初と最後に半角ダブルクォーテーションを付ける)やり方でもうまくいきましたー!
0
     | 四十而不惑なところ | | | pookmark

    スポンサーサイト

    カテゴリー:-
    0
       | - | | | pookmark
      コメント欄
      コメントする


      ※メールアドレスは公開されません

      ※Name:欄に入力したお名前にリンクが設定されます




      この記事のトラックバックURL
      http://stressful.jugem.jp/trackback/257
      トラックバック

      Button of Go to Home

      Button of Back to Top