2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

バッチファイルでファイル名の末尾を削除する(拡張子は削除しない)

Last updated at Posted at 2017-09-20

やりたいこと

  • ファイル名の末尾にある固定文字列を削除したい。
  • バッチで。
  • ディレクトリ内を一括で置換したい。

ディレクトリには以下のファイルがある想定
hugahuga-debug.txt
hogehoge-debug.txt

今回はファイル名の末尾にある文字列の"-debug"を削除し、"hugahuga.txt"のようなファイル名にします。

rename.bat
for %%F in (*-debug.txt) do call :sub "%%F"
goto :EOF

:sub
set BEFORE=%~1
set FILENAME=%~n1
set EXTENSION=%~x1
set AFTER=%FILENAME:~0,-6%%EXTENSION%
ren "%BEFORE%" "%AFTER%"

結果

hugahuga.txt
hogehoge.txt

やってること

  • バッチと同じディレクトリ内のファイルで"*-debug.txt"に引っかかるファイルを順に対象にする。
  • BEFOREに変更前のファイル名が代入される。
  • FILENAMEに変更前のファイル名から拡張子を除き、代入される。
  • EXTENSIONに拡張子が代入される。
  • AFTERにFILENAMEの末尾6文字(ここでは"-debug"が該当)を削除し、EXTENSIONをくっつける。
  • renコマンドでリネームする。

こちらを参考にさせていただきました
http://wpqtqpqp.hatenablog.com/entry/2016/01/24/115618

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?