abc.JPG を、abc.jpg のように、拡張子を「小文字にリネーム」したい場合や、abc.jpgをWEBの画像圧縮アプリを使うとファイル名がabc-mine.jpg などのように余分な文字が付加されたときに「元の名前に戻したい」場合などは、バッチファイルを使って、ホルダー内のファイル名すべてを、一気にリネームする方法が便利です。
素人っぽいのですが、結構使えています。バッチファイルの作り方についても、わかり易く説明しましょう。
こんな場合に使えます
ここでは、ホルダー内のいくつかのファイルの ①拡張子を全部変える ②ファイル名の中の同じ文字を消したい・・・などを、バッチファイルを使うと簡単です。 以下のようなイメージです。
①ホルダー内のすべての拡張子を変更する
②ホルダー内の余分な共通した文字を削除する
もちろん、ホルダー内の全部が上のように共通していなくて、バラバラであれば、対象のファイル名だけが変更されて、ルール外のものはそのまま残ります。
間違えた場合は、右クリックで「名前の変更」をつかって一つ一つもとへ戻せばいいだけですので、まず、トライしてみましょう。
PR
上の①の例は、私のデジカメの画像ファイルの拡張子が abc.JPG のように大文字になっているので、 abc.jpg のように小文字の拡張子にリネームしたいような場合にこのやり方を使っています。 また、②のように、WEBアプリを使って圧縮や最適化をすると、識別のために余分な文字がついてくる場合があります。 これを元の名前に一気に変更したい場合も、この方法を使うと、ホルダー内のすべてのファイル名が一度に変換できます。
バッチファイルを作るというのが分かりにくそうですが
バッチファイルは、「Windows環境で実行できるコマンド列を記述したテキストファイルのこと」で、わかりやすく言うと、「メモ帳にコマンドを書いたもの」です。
バッチファイルは、メモ帳を使って作ります
白紙のメモ帳は、デスクトップの空き部分を右クリックして、新規作成の「テキストドキュメント」を選ぶと、「新しいテキストドキュメント.txt」というファイルができます。
それがメモ帳で、そこにコマンドを書き込みます。
デスクトップに下の写真のようなファイルができますので、それを開いて、コマンドを書き込むだけです。
①のやり方 :大文字拡張子を全部小文字にする
デスクトップにできたテキストファイルを開いて・・・・
そこにコマンドを書きます。
1行目に、「ren *.JPG *.jpg」 と書くだけでコマンドは完了です。 名前をつけて保存します。
この「 」内の文字 ren *.JPG *.jpg をコピーして貼り付けするといいですね。
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ファイルの内容を修正する場合 → 左クリックで「修正」(「開く」ではありません)
メモ帳のコマンドを修正する方法も知っておくといいでしょう。
メモ帳に作ったバッチファイル(*.bat)は、通常のファイルを開くときのように、左クリックで開いて修正することができません。(中に書いたコマンドが作動してしまうので、この左クリックする方法ではだめです)
だから、コマンドの確認や修正する方法は、ファイル名を右クリックして、そこから『修正』を選ぶ・・・でバッチファイルを開きます。
バッチファイルのコマンド修正 右クリックで「編集」
ファイル名変更作業が終わったあとは、バッチファイルは不要ですので、そのホルダーから削除しておくのが安全ですね。(間違って再クリックしてしまっても、同じ処理が作動するだけで問題はありませんが・・・)
②のやり方 :ファイル名の一部分を削除するバッチファイル
WEBの圧縮ソフトなどを使ってファイル(例えば abc.html)を加工すると、@@@-abc.htmlや abc-mine.html などのように、「加工しましたよ・・・」という識別ように、ファイルに余分な文字がつく場合がしばしばあります。(この機能も便利ですが・・・邪魔な場合もありますね)
例えば、その、@@@_ や -mine などの余分な文字を取りたい場合には、これから説明するバッチファイルをつくって、一括に、余分な文字を取った名前に変える処理をすることができます。
ここでは、例として、ファイルの前に「clear_」という文字がついている場合を仮定して、それを除去するバッチファイルを作ります。clear_abc.jpgを abc.jpg にしたい・・・という場合です。
やり方は、上と同様に、新規作成した「メモ帳」に、必要なコマンドを書き、名前をつけてバッチファイルを作っておいて、それを、リネームしたいホルダーにコピーして、ダブルクリックするだけ・・・・・で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
)
説明のために、スクリーンコピーしたものに追記しています。『赤四角』には半角の空白があります。この場合は[clear]という文字を消すのですが、別の文字であれば、青枠部分を消したい文字に書き変えます。
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上に書かれている方もたくさんおられるので、それらも参考にされるといいでしょう。
作ったバッチファイルを、名前変更したいファイルと同じホルダー内に置いて動作させる・・・というところがポイントです。
ともかく、これが何かのお役に立てれば幸いです。
コメント