abc.JPG を、abc.jpg のように「小文字にリネーム」したい場合や、WEBの画像圧縮アプリを使ったファイルに、abc.jpgがabc-mine.jpg などのように、識別のために余分な文字がついてくるのを、「元の名前に戻したい」場合などに、バッチファイルを使って、ホルダー内のファイル名すべてを、一気にリネームする方法を紹介します。
素人っぽいのですが、結構使えています。バッチファイルの作り方についても、わかり易いように説明します。
ここでは、ホルダー内のいくつかのファイルの ①拡張子を全部変える ②ファイル名の中の同じ文字を消したい・・・などをバッチファイルを使って簡単にやる方法で、以下のようなイメージです。
①ホルダー内のすべての拡張子を変更する
②ホルダー内の余分な共通した文字を削除する
もちろん、ホルダー内の全部が上のように共通していなくて、バラバラであれば、対象のファイル名だけが変更されて、ルール外のものはそのまま残ります。
PR
上の①の例は、私のデジカメの画像ファイルの拡張子が abc.JPG のように大文字になっているので、 abc.jpg のように小文字の拡張子にリネームしたいような場合に、このやり方を使っています。 また、②のように、WEBアプリを使って圧縮や最適化をすると、識別のために余分な文字がついてくる場合があります。 これを元の名前に一気に変更したい場合も、この方法を使うと、ホルダー内のすべてのファイル名が一度に変換できます。
バッチファイルを作るというのが分かりにくそうですが
バッチファイルは、「Windows環境で実行できるコマンド列を記述したテキストファイルのこと」で、わかりやすく言うと、「メモ帳にコマンドを書いたもの」です。
Windowsでのバッチファイルは、メモ帳を使って作ります。
白紙のメモ帳は、デスクトップの空き部分を右クリックして、新規作成の「テキストドキュメント」を選ぶと、「新しいテキストドキュメント.txt」というファイルができます。 それがメモ帳で、そこにコマンドを書き込みます。
デスクトップに下の写真のようなファイルができますので、それを開いて、コマンドを書き込むだけです。
①のやり方 :大文字拡張子を全部小文字にする
デスクトップにできたテキストファイルを開いて・・・・
そこにコマンドを書きます。
1行目に、「ren *.JPG *.jpg」 と書くだけでコマンドは完了です。 名前をつけて保存します。
この「 」内の文字 ren *.JPG *.jpg をコピーして貼り付けてもOKです。
ren *.JPG *.jpg というのが、「拡張子を小文字にする」 というコマンドです。
ren□*.JPG□*.jpg のように、□は半角の空白を入れます。 *は「すべてのファイル」という意味です。
PR
このコマンドを書いて、例えば、「拡張子 大文字を小文字に」という名前をつけて保存すると、下のようなバッチファイルができます。拡張子がbatです。これが「バッチファイル」です。
実際に使ってみましょう
上に示した例のように、拡張子が大文字の4つのファイル 12345.JPG、abcdef.JPG、12345678.JPG、abc.JPG が同じホルダー内にあるとすると、新しく作った「拡張子 大文字を小文字に.bat」ファイルをコピーして、同じホルダ内に貼り付けます。もちろん、xyz.jpg などの「対象外のファイル」が混じっていても、問題ありません。
そして、そのbatファイルをダブルクリックすると、下のように、大文字の.JPGが小文字の.jpgに変換されます。
たったそれだけの作業です。
一般的には、ファイルをダウンロードする場合は、デスクトップ上で作業することが多いので、この作業は、デスクトップ上でやることが多いのですが、問題を起こさないためにも、作業はまず、新しいホルダーを作って、そのホルダー内に変更したいファイルと作ったバッチファイルを入れておいてこの作業をやるようにすると安心でしょう。
PR
(参考)メモ帳に書いたコマンドなどの内容の修正方法も、覚えておいてください
メモ帳のコマンドを修正したい場合の方法も知っておくといいでしょう。
メモ帳に作ったバッチファイル(*.bat)は、通常のファイルを開くときのように、左クリックで開いて修正することができません。(中に書いたコマンドが作動してしまうので、この左クリックする方法ではだめです)
だから、コマンドの確認や修正する方法は、ファイル名を右クリックして、そこから『修正』を選ぶ・・・でバッチファイルを開きます。
バッチファイルのコマンド修正 右クリックで「編集」
ファイル名変更作業が終わったあとは、(最後でいいですが、たぶん、今後は使わないでしょうから)不要になったバッチファイルをそのホルダーから削除しておくのが安全ですね。(クリックしてしまっても、同じ処理が作動するだけで問題はありませんが)
②のやり方 :ファイル名の一部分を削除するバッチファイル
WEBの圧縮ソフトなどを使ってファイル(例えば abc.html)を加工すると、@@@-abc.htmlや abc-mine.html などのように、「加工しましたよ・・・」という識別のためか、ファイルに余分な文字がつく場合がしばしばあります。(これはこれで便利ですが)
例えば、その、@@@_ や -mine などの余分な文字を取りたい場合は、これから説明するバッチファイルをつくって、一括処理することができます。
ここでは、例として、ファイルの前に「clear_」という文字がついている場合を仮定して、それを除去するバッチファイルを作ります。
やり方は、上と同様に、新規作成した「メモ帳」に、必要なコマンドを書き、名前をつけてバッチファイルを作っておいて、それを、リネームしたいホルダーにコピーして、ダブルクリックするだけ・・・・・でOKです。
コマンドは少し長くて6行になりますが、それは次のようになります。
消したい文字は、「clear_」ではない場合でも、2か所の記述を変えれば他の文字でもOKです。 下をコピーペーストして、必要な部分を修正するといいいでしょう。
setlocal enabledelayedexpansion :これは「呪文」のようなものです
for %%i in (clear_*.html) do :↓ここから下がファイル名からclear_ を消すコマンドです
( set F=%%~ni
set F=!F:clear_=!
ren %%~fi !F!%%~xi
)
下がスクリーンコピーしたものですが、『赤四角』には半角の空白があります。別の文字であれば、青枠に消したい文字を入れます。
PR
同じような練習をしてみましょう
次に、練習をかねて、同じように、「clear_」の文字を消すのですが、拡張子が.htmlではなく、.jpg の4つのファイルの「clear_」を消すバッチファイルを作って動作させてみましょう。
そうするともちろん、上に書いたコマンドの一部を変えなくてはなりませんね。 jpgファイルなので、次のように書き換えます。
そして、先の①の例と同様に、同じホルダー内にバッチファイルをおいて、それをダブルクリックすると、・・・・・下のように、「clear_」が消えていますね。
これで完了です。
ここでも、この処理を行って、用済みになったバッチファイルは、削除しておいたほうが安心です。もしも、残しておいて、クリックしても、上の動作を繰り返すだけで、問題はないのですが、「用済みになったら削除しておく」習慣をつけておいたほうがいいでしょう。
・・・・・これで、かなりバッチファイルのイメージができたと思いますので、練習で、次の応用問題をやってみてください。
(応用) abc-mine.jpg の後ろの文字 -mineを消して、abc.jpgにしたい
同じようにバッチファイルを作る練習をしてみましょう。
例えば、abc01-mine.jpg abc02-mine.jpg abc03-mine.jpg ・・・のように「-mine」が付加されているファイルが10個あったとして、その「-mine」をすべて消したい場合には、上のコマンドの2行目の『clear_*.html』を 『*-mine.jpg』に、4行目の『clear_』 『-mine』に変えればOK・・・になりますね。
setlocal enabledelayedexpansion :これは、呪文のようなものです
for %%i in (*-mine.jpg) do :↓ここから下がコマンドです
( set F=%%~ni
set F=!F:-mine=!
ren %%~fi !F!%%~xi
)
これは実際に動かして確認した状態は示しませんが、練習のつもりでやってみてください。うまく動かなかっても、ファイルが壊れたりすることはありませんが、安全のために、テスト前にバックアップを取っておいてくださいね。
以上ですが、私は専門家でないのでコマンドの詳細説明はできませんが、このコマンドの1行目の 「setlocal enabledelayedexpansion」は呪文のようなもので、「コードを読み込んで、処理をする時に値を変えます」というものです。
もしも、これを書かないと、(やってみるとわかるのですが)たとえば、ホルダー内に変更させたいいくつかのファイルがあって、1行目を書かないバッチファイルをダブルクリックして実行させると、1つ目のファイル(または最終行のファイル)名を変えて、そこで動作止まってしまい、もう一度ダブルクリックで再実行させると、先に変換されたファイル名が変な名前になってしまいます。 だからとにかく、呪文だ・・・と思っておくといいでしょう。
2行目の内容は、「clear_」のある jpgファイル を対象にして、3行目で、それを「変数」として、4行目で「clear_」のあるファイルを、5行目の「ren」という関数で名前を変えて、1行目にある呪文によって、ホルダー内の全部のファイルの処理をしている・・・という内容になっています。
同じような内容の記事をWEB上に書かれている方もたくさんおられるので、それらも参考にされるといいでしょう。
作ったバッチファイルを、名前変更したいファイルと同じホルダー内に置いて動作させる・・・というところがポイントです。
ともかく、これが何かのお役に立てれば幸いです。
コメント