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