ファイル名の一部を一括変換するバッチファイル方法 | SEからの脱出日記 サーバー ネットワーク パソコン備忘録
bat/cmd

ファイル名 一括変換 バッチファイル 作成方法

おはようございます。今回はファイル名を一括変更するバッチファイルです。ファイル名を一括で消したり変換出来たりしないかと考えました。

今日紹介するコードは、ショートカットの文字を消すバッチファイルです。

ファイル名 一括変換 バッチ使い方

ファイル名を一括変換するバッチの使い方から見ていきましょう。こんな感じです。

ファイル名一括変換バッチの使い方

ファイル名の一部分の名前を一括で削除したい場合に活用。

” – ショートカット”や”コピー”などの文字列を一括で変更が出来ます。

①下記のファイルがあります。「ファイル名一括変更rename.bat」バッチファイルをクリックしましょう。

ファイル名変更前

②3秒くらいすると末尾にあった” – ショートカット”の文字が消えます。

ファイル名変更後

こんな感じで使えるので、ファイル名の一部を変えたい場合は役に立つかと思います。

ファイル名一括変換コード

早速ですが、バッチファイルのコードの中身です。コードをコピーしてメモ帳に貼付け > バッチファイルとして保存しましょう。ファイル名一括変換バッチファイルの作成完了です。

@echo off
rem ショートカットのつくファイル名を削除するバッチです。
rem 10行目のコードを変えて色んな文字の変換が出来ます。
rem ループで%%fをコールする
for %%f in ( * ) do call :sub “%%f”
exit /b
rem コール先のバッチ 「- ショートカット」と付くファイル名を””(空白)に置換
:sub
set fname=%1
set fname=%fname: – ショートカット=””%
ren %1 %fname%
pause

コード内の下線は「 – ショートカット」という文字を「””%」で空白にするという意味を持ちます。

なので「 – ショートカット=””%」部分を変更すると他の文字も変換できます。

例えば「– ショートカット =”リンク”%」にするとファイル名に「 – ショートカット」が付く部分を「リンク」に変換します。

もっと便利なバッチファイルを考えたら、更新します。

それではー

バッチ特殊記号
バッチファイル 正規表現が必要な特殊記号 備忘録こんばんは、今回はバッチファイルを作成したときに中々完成できずにハマったバッチファイルの特殊記号についてのメモです。さっそくですが、バッチファイルで通常通り使用するとエラーになる文字があります。半角記号の &  <  >  | をそのまま使用するとバッチファイルは正常に動作しません。対処の方法は・・・...
ABOUT ME
なお
フルスタックエンジニアを目指すサラリーマン。インフラ、WEBを中心に色んなIT関連情報に手を出したいと思います。

にほんブログ村 IT技術ブログ IT技術メモへ

SEからの脱出日記 - にほんブログ村

POSTED COMMENT

  1. マトレー より:

    こんばんは。
    この様なバッチが欲しくて探しておりました!
    ですが自分の環境で試してみると上手く動きませんでした…。
    そのままダブルクリック → 何も起こらず
    管理者として実行 → 「コマンドの構文が誤っています」がバーッと沢山でて止まる
    コードの中身は全く変えずにそのままなのですが…何が原因か判りますでしょうか。
    御教授頂けますと助かります。

    • なお より:

      コメントありがとうございます。記事内のバッチコードをコピペしてみると“%%f”や””%のダブルクウォーテーションの部分が「“」の全角になっていることが解りました。

      「“」の部分を半角のダブルクウォーテーションに変換してみていただけますでしょうか?
      もし直らない場合はコメントください。よろしくお願いいたします。

  2. マトレー より:

    お礼が遅くなり申し訳ありません!
    御返答ありがとうございました!
    しかし直してみた結果エラーは出なくなったのですが、
    普通に叩くと「指定されたファイルが見つかりません。」となり
    管理者として実行すると「コマンドの構文が誤っています」となります。
    デスクトップに「新しいフォルダ」を作ってその中にbatファイルと適当なフォルダのショートカットを置いて試している状態です。
    フォルダ名を半角名に変えてみたりしましたが変わらずでして、何か判りましたらご教授頂けますと幸いです。

    • なお より:

      メール等でその「バッチファイル」と「名前変更したいフォルダのキャプチャ」を送っていただくことは可能でしょうか?確認してみたいと思います。
      もしよければ返事ください。マトレーさんのアドレスにメール送ります。

  3. sevimo より:

    使用するときに気を付けるポイント(?)があったので共有しておきます.

    ・メモ帳にコピペした場合 ” 記号が全角になるので半角に直す.
    5行目 for…の ”
    空白置換部分の ”

    ・置換後の結果が空白行の場合は “”で良いが
    別の文字にしたい場合は,ダブルクオーテションを抜いてそのまま記述.
    また空白も認識し反映されるので注意.

    ex)「– ショートカット」の文字を「テスト」に置換
    set fname=%fname:– ショートカット=テスト%

  4. sevimo より:

    追加
    日本語ファイル名の置換をしたい場合

    ・メモ帳に張り付けた場合エンコードがUTF-8が標準となっている場合がある(メモ帳画面の右下に表示されている)

    その場合はメモ帳内
    「ファイル」→「名前を付けて保存」→文字コードの部分を「ANSI」に変えて保存し直す.

  5. マトレー より:

    すみません、メールを送ろうかと思ったんですがなおさんのアドレスは何処かに記載されてますでしょうか?ちょっと見つける事が出来なかったので教えて頂けますでしょうか。
    宜しくお願い致します。

  6. なお より:

    マトレーさんのメールにコメント送りましたので返信していただけると助かります。よろしくお願いいたします。

  7. なお より:

    マトレーさん、送付していただいたバッチ確認しました!
    5行目のfor %%f in ( * ) do call :sub “%%f” 
    のダブルクウォーテーションが抜けておりました。ダブルクウォーテーションを付けてエラーが解消されましたので一度試してみてください。よろしくお願いいたします。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA