• 締切済み

batファイルかフリーソフトでファイル名の特定文字まで削除できますか?

batファイルかフリーソフトでファイル名の特定文字まで削除できますか? batファイルにて元のファイル名の後ろに日付と時刻を入れることはできたのですが、 例: abc.txt → abc_1006160810.txt これを更新するために、_までを削除したいのですが、どのようにbatファイルを作ればいいのか分かりません。 どなたか、知恵をいただけませんか。 したいことは、 abc_1006160810.txt の _1006160810 を削除するだけのbatファイルです。 batファイルではなく、フリーソフトにコマンドラインで一発変換でも構いません。 よろしくお願いいたします。

みんなの回答

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.4

重複処理等は無視していいとすると、以下のようなバッチファイルでいかがでしょうか? Windows XPで動作確認しました。 echo off for /f "delims=" %%f in ('dir /b *_*.*') do call :sub "%%f" exit /b :sub set oldname=%1 set ext=%~x1 for /f "delims=_ tokens=1" %%a in ( %1 ) do echo ren %oldname% "%%a%ext%" goto :EOF

  • Repetez
  • ベストアンサー率54% (132/242)
回答No.3

バッチファイルでないといけませんか? フリーソフトを使えば簡単にできます。 Flexible Renamer http://hp.vector.co.jp/authors/VA014830/FlexRena/

  • Repetez
  • ベストアンサー率54% (132/242)
回答No.2

どういったブレのあるファイル名を どのように変更したいのかを書かないと回答ができません。 最初の3文字が全て共通で数字だけが違うのなら、 「abc_1006160810.txt」より「_1006160810」を削除するだけだと ファイル名が重複します。 5個なり10個なりファイル名の例を挙げて、 それぞれどのように変更したいのかを書いて下さい。

smith77
質問者

補足

abc_1006160810.txt あいうえお_0903240820.xls テスト_0512242330.doc 漢字_1001010101.ai 1_1012120000.psd のように、唯一共通と言える場所は、_以降に数字が10文字くることだけです。 重複については、_以前が重複しない様に、フォルダに各ファイルが入っているので、重要視していません。

  • Repetez
  • ベストアンサー率54% (132/242)
回答No.1

この質問だけ見たら ren abc_1006160810.txt abc.txt でいいことになってしまうのでは。

smith77
質問者

補足

すみませんでした。更新データが大量にあり、それらの更新のたびに、毎回毎回「名前の変更」で行う手間をbatファイルでなくしたいのです。