フォルダ内の複数のファイルの名前を変更する

フォルダ内の複数のファイルの名前を変更する

私のフォルダには次のようなファイルがいくつかあります:

asd55.png
qwe55.png
zxc55.png

55 を削除して次の結果を得たいと思います。

asd.png
qwe.png
zxc.png

私は以下を試しました:

ren *55.png *.png

しかし動作しません。

注記:

名前のサイズは次のように異なります:

asd55.png
qwerty55.png

答え1

ren ???55.png ???.png

見るWindows の RENAME コマンドはワイルドカードをどのように解釈しますか?説明のために

55 より前の文字数が変化する場合は、おそらくバッチ スクリプトを使用する必要があるでしょう。(コマンド ラインでかなり複雑な 1 行のコードを実行することもできますが、それだけの価値はありません)

@echo off
setlocal enableDelayedExpansion
for /f "delims=" %%F in ('dir /a-d ?*55.png') do (
  set "name=%%~nF"
  ren "%%F" "!name:~0,-2!%%~xF"
)

ファイル名に が含まれる可能性がある場合は!、ループ内で遅延展開のオン/オフを切り替える必要があります。

@echo off
setlocal disableDelayedExpansion
for /f "delims=" %%F in ('dir /a-d ?*55.png') do (
  set "name=%%~nF"
  set "ext=%%~xF"
  setlocal enableDelayedExpansion
  ren "!name!!ext!" "!name:~0,-2!!ext!"
  endlocal
)

関連情報