バッチファイルでファイル名を一括変更する方法

このQ&Aのポイント
  • Windows上で複数のファイル名を一括変換する方法についてご教示ください。
  • バッチファイルを使用して、複数のファイル名を一括で変更する方法を教えてください。
  • renコマンドの使い方がわからないため、Windowsで複数のファイル名を一括変換する方法についてアドバイスをお願いします。
回答を見る
  • ベストアンサー

バッチファイルでファイル名を一括変更するには

大変お世話になっております。 windows上で、100個程度のファイル名を、一括で変換するバッチファイルを作りたいのですが、renコマンドの使い方が分かりませんでした。 何方か、お分かりでしたら、ご教示頂けると大変助かります。 ファイル名は、下記の通りになります。 【下記は変更前のファイル名】 235-R2022001978.pdf 2345677-R2022001979.pdf iiii-R2022001980.pdf 896-R2022001981.pdf eee-R2022001982.pdf やりたい事は、各ファイル名の変更後がR以下の文字の名前にすることです。 例えば、『235-R2022001978.pdf』→『R2022001978.pdf』へリネームしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • jrn700
  • ベストアンサー率16% (202/1210)
回答No.2

お邪魔します バッチファイルですと大変だと思います。 ファイル名を簡単に買えることも出来ないかと・・・ 下記の様な物を使用されては如何でしょうか? 私は重宝しています。 http://www.vector.co.jp/soft/dl/winnt/util/se131133.html

nnirosan
質問者

お礼

お世話になっております。 大変使い易いツールをご紹介下さいまして、ありがとうございました。 大変便利なツールですね! 早速使わせて頂きます。

その他の回答 (1)

回答No.1

https://www.javadrive.jp/command/bat/index9.html ループ自体は・・・ for %%f in (*.txt) do ( rem ....... copy %%f c:\test\backup > nul ) などで作れるのだが、 ファイル名のマッチングが、不明だな~ 235-R2022001978.pdf 2345677-R2022001979.pdf 全角半角混在しているし。 例えば、 1-R2022002000.pdf 2-R2022002000.pdf みたいに、先頭を取る事で、ダブり名になるか?を バッチファイルは判断ができないわけで。 (そういうケースがあるか?って事ではなく、  あくまでバッチファイルはそれを理解できないって方で) バッチファイルでもシェルをCMDじゃなくハイパーシェルか Bashなどにした方が、いい結果になるかも~ と感じる質問ではありましたね。

nnirosan
質問者

お礼

ご教示ありがとうございました。 windows上でDOSコマンドを使用したバッチファイルで、様々タイプのリネームは無理が有る事が分かりました。 仰る通り、Linux上でシェルスクリプトを使えば簡単にリネームが可能になりますね。 今回は、勉強になりました、有難うございました。

nnirosan
質問者

補足

早速のご教示ありがとうございました。 単純にR文字と、R文字以降の11桁の数字を変更後のファイル名にしたいのです。 リネーム後のファイル名を変数にセット出来て、コマンドの中で変数が使えるのなら、リネームは可能になるのかなと思っていたのですが、そのような事をwindows上で 実施する事は不可能でしょうか? windows10上でやるのが条件である事から、このような例でのリネームは、手動で1つ1つ実施するしか方法が無いと言う事になるでしょうか? 説明に口足らずな所が有り、申し訳ありません。 お分かりでしたら、どうぞご教示をお願いいたします。

関連するQ&A

  • macのターミナルで、ファイル名を一括変更したいです。

    macのターミナルで、ファイル名を一括変更したいです。 windowsでいえば、 ren *.gif [風景]*.gif というコマンドをコマンドプロントでうつと、移動したディレクトリ先のファイル名が一括で変更されるとおもいます。 しかし、macでmvで同様のことをするとエラーが出ます。おそらくwindowsとか勝手が違うということはわかるのですが、できれば、macのターミナルでも同様のことができるようにしたいので、そのようなコマンドがあれば教えてください。

    • ベストアンサー
    • Mac
  • コマンドプロンプトでファイル名一括変更

    コマンドプロンプトのrenコマンドでフォルダ内の同一拡張子のファイル名の拡張子を一括変更することはできますが、 (例 ren *.txt *.htm ) 拡張子以外の共通部分を拡張子を含む形で一括変更することはできませんか? たとえば拡張子のないd01という文字列で終わるファイル名を一括してd01の部分を消して拡張子を.jpgにしたいのです。

  • 複数ファイルの一括名称変更

    ファイル名が1234_200812061.datという形式になっているファイルが大量にあります。このファイル名の先頭部分1234_を削って後半部分200812061.datだけの名称に変更したいのです。 renコマンドを使ってもうまく行かないので恐らくバッチファイルでfor文などを使って処理できると思うのですが、うまく行きません。私が作ったバッチでは for /f "skip=5" %%A in (*.dat) do ren *.dat %%~nA.dat のように処理しているのですが、うまく行かないようです。 どなたかご教授していただけますでしょうか。

  • バッチファイルのコマンドについて

    バッチファイルのコマンドについて ウィンドウズです。 バッチファイルにて、大量のファイルの名前を以下の通りにリネームしたいです。 どのようにコマンドを組めばいいのか教えてください。 また、リネームしたファイルは1つ上のフォルダに移動させたいです。 1、ファイルの1~3文字目を削除してリネームして移動するコマンドデータ 2、ファイルの3~5文字目を削除してリネームして移動するコマンドデータ 例:『123456789』というファイル名に対して、 『456789』というファイル名にして移動するコマンドと 『126789』というファイル名にして移動するコマンドが欲しいです。 データは、名前も文字数もバラバラです。 知っている方がいたらお願いします。

  • ファイル名を一括でリネームする

    複数のPDFファイルを一括でリネームする(ファイル名を変える)方法を以前新聞で読んだことがあるのですが、やり方を知っている方、教えてください。

  • ファイル名の一括変更ツールについて

    業務上、大量のファイルのファイル名を変更する必要があり、ファイル名を一括変更するツールを探しています。 やりたいことは、ファイル名の特定位置の文字列を一括で変更することなのですが、変更後の文字はファイルによって異なるため、何らかの方法でそれを指定できるツールが必要と思っています。 想定しているのは、例えば以下のような機能です。 ・ファイル名の一部を格納フォルダ名に一括変更する。 例:「XXXX-AAAA-0001.pdf」等がフォルダ名BBBBに格納されていた場合、   BBBB配下のファイルを全て「XXXX-BBBB-0001.pdf」のように変換する。 または、 ・外部ファイル(またはそのツール)に変更前ファイル名と変更後ファイル名を指定して、読み込むことでファイル名を一括変更する。(変更パターンは複数あり) 使用端末はWindowsXPまたはWindows7です。 Excelのマクロ等でも出来そうだと思いますので、実装例等をご紹介いただくことでも問題ありません。 よろしくお願い致します。

  • MS-DOSのバッチによるファイルリネームの方法

    いつもお世話になります。 MS-DOS(windows XP)で、あるディレクトリ内のファイルを一括リネームするようなバッチスクリプトを作成しようとしています。 ファイル名は、例えば「10P1125532_20080130135757_condA_para50.txt」というような感じで、後半の「_condA_para50.txt」は共通で、これが2万ファイルほどあります。 それで、後半の「_condA_para50」の部分を削除しようとして、まずはコマンドプロンプトでそのディレクトリに移動してから、 ren *_condA_para50.txt *.txt とやったのですが、認識されていないのか、リネームされませんでした。(エラーも出ませんでした) スクリプトに書く場合は、どのようにすればちゃんとリネームされるのでしょうか? よろしくお願いします。

  • フォルダ名変更のバッチファイル作成について

    WindowsVISTA HomePremiumのPCで下記操作(フォルダ名変更)を 自動化できるようバッチファイルを作成したいのですが、可能でしょうか?(昨夜調べていましたが、結局わからず質問させて頂きました) ■やりたい処理  「D:\」にある、複数のフォルダ(YYYY-MM-DD)の名称を一括変更。  例えば、   ・2009-08-31   ・2009-09-01   ・2009-09-02  と3つあった場合、バッチを実行すれば   ・20090831   ・20090901   ・20090902  に一括変更(ハイフンを削除する)されるようなものです。 ご教授宜しくお願いします。

  • MSDOSからワイルドカード指定で複数ファイル名の一部を一括変更

    MSDOSからワイルドカード指定で複数ファイル名の一部を一括変更する方法はありますでしょうか? 例えば、 「a.dat.gz」「b.dat.gz」「c.dat.gz」 上記のような複数ファイルを以下のように変更したいと思っています。 「a.gz」「b.gz」「c.gz」 ちなみに次のコマンドを試してみたのですがダメでした。 ren *.dat.gz *.gz 実際はバッチファイルから処理をさせたいと思っています。 よろしくお願いいたします。

  • Powershell で []付ファイル名を変更する方法

    PowerShell で []付のファイル名を変更しようとしているのですが、 ワイルドカードのエスケープの仕様がよくわからず困っています。 以下のTest-Pathを使ったコマンドはすべて True でしたが Rename-Item (ren) では"オブジェクトは存在しませんという"エラーが出ます。うまくリネームする方法はないでしょうか? ファイル名 [].txt test-path '`[`].txt' →TRUE test-path '``[].txt' →TRUE test-path '[[]].txt' →TRUE ren '`[`].txt' 'a' →エラー ren '``[].txt' 'a' →エラー ren '[[]].txt' 'a' →エラー